You may have seen your requirements update proposals start to include
things like:
MySQL-python;python_version=='2.7'

like in
https://review.openstack.org/#/c/194325/
https://review.openstack.org/#/c/194325/3/test-requirements.txt

This is programmatic annotation of the Python versions that we need
these requirements for -- and the version(s) that we know works.

The syntax is PEP-426 environment markers:
https://www.python.org/dev/peps/pep-0426/#environment-markers

and we document it in pbr and openstack/requirements - this email is
just a heads for folk that aren't tracking those repositories.

To work with these, modern versions of pip (6 is the minimum) and
setuptools (I recommend the latest version always) and pbr (1.2.0) are
needed. Running with older versions is likely to fail - but these
tools are very backwards compatible.

The introduction of this is a necessary step to be able to calculate a
frozen set of requirements for each Python version we test on - if we
can't install all of global-requirements.txt on e.g. 2.7, then we
can't see what versions would be installed to calculate the delta for
the next upgrade. Calculating that frozen set of requirements is a
necessary condition to remove the variance of upstream releases from
impacting CI jobs and causing wedges.

We haven't (yet) introduced this machine readable data to stable/kilo,
but are likely to do so later this cycle, once we have the tooling in
place and locked in for constraints everywhere in master.

-Rob

-- 
Robert Collins <rbtcoll...@hp.com>
Distinguished Technologist
HP Converged Cloud

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to