[openstack-dev] [requirements] Managing project requirements

Andreas Scheuring scheuran at linux.vnet.ibm.com
Fri Feb 24 13:09:33 UTC 2017

Hi, I have a couple of questions in regards of how updates of
requirements are handled and what happens if I release a new version of
a library. I read along the README [1], but a few points are still
unclear to me.

I have the following projects:

* os-dpm [4]
  * is a openstack library that gets release when required
  * release is done manually (creating a tag and pushing it to gerrit)
  * listed in global requirements & upper constraints
* zhmcclient [6]
  * An "external" library that gets released to pypi
  * listed in global requirements & upper constraints
* nova-dpm [2] & networking-dpm [3]
  * are the main projects and therefore not listed in the openstack
  * both specify the os-dpm and zhmcclient in their requirements.txt
  * both are accepted in the projects.txt to allow the automated sync of
global requirements

Now the scenarios are

A new version of the external library 'zhmcclient' gets released

What to do in order to get this reflected in upper constraints? At first
I was pushing manual updates to requirements txt, but the latest version
was pushed in by the OpenStack proposal bot around 10 days after the
release [4]. What's the right approach here?

How can I ensure that I have to approve a new version for my projects,
before it gets applied there? (Once it is in upper constraints, it is
used in my project as well automatically). If I specify an upper
constraint in my requirements.txt file, then the requirements job
complains as the requirement does not exactly match the requirementused
in global requirements...

A new version of the openstack library 'os-dpm' gets released

As this is an OpenStack project - I think the flow is slightly
different: If a new release gets tagged with the corresponding metadata,
a patch to upper constraints is submitted automatically. (I still need
to figure out how that metdata should look like...)

But the same question like above, can I control the upper constraints in
my project?


[1] https://github.com/openstack/requirements
[2] https://github.com/openstack/nova-dpm
[3] https://github.com/openstack/networking-dpm
[4] https://github.com/openstack/os-dpm
[5] https://review.openstack.org/#/c/426487/
[6] https://github.com/zhmcclient/python-zhmcclient

IRC: andreas_s

More information about the OpenStack-dev mailing list