[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