[openstack-dev] [all] ALL dependencies pinned in devstack-gate now

Robert Collins robertc at robertcollins.net
Fri Jul 3 02:01:00 UTC 2015


I want to give an update on
http://specs.openstack.org/openstack/openstack-specs/specs/requirements-management.html
- we've just passed a critical milestone there, and this affects how
everyone updates requirements.

As of a few minutes ago devstack-gate landed the change to set
USE_CONSTRAINTS=True. What this means is that the file
http://git.openstack.org/cgit/openstack/requirements/tree/upper-constraints.txt
is now used to determine the version of every dependency that is present in it.

It is created by the script 'generate-constraints' in the same
repository, and there's an infra job that will propose changes to that
file based on what is in PyPI. Its currently pending a couple of
tweaks to get it fully operational but we should resume operations in
the near future.

This constraints file can be used for local development too - just set
USE_CONSTRAINTS=True in your stack config file.

Now, the things you have to remember as developers:

* If you are adding a new requirement you should also add it to
upper-constraints.txt with an exact pin.

* If you are raising a minimum version of a requirement, you need to
also raise it in upper-constraints.txt.

* New releases of *any* library will not be used by devstack-gate jobs
until upper-constraints.txt has been edited to enable them. This makes
it much much harder to break the world, for all of us that release
things - whether it be upstream components like testtools, oslo
libraries or the python-$FOOclient libraries.

-Rob

-- 
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud



More information about the OpenStack-dev mailing list