[openstack-dev] [requirements] global-requirements not co-installable

Robert Collins robertc at robertcollins.net
Fri May 8 08:02:19 UTC 2015


I don't know if they are *intended* to be, but right now there is no
set of versions that can be co-installed, of everything listed in
global requirements.

I don't have a full set of the conflicts (because I don't have a good
automatic trace for 'why X is unresolvable' - its nontrivial).

However right now:
openstack-doc-tools>=0.23
and
oslo.config>=1.11.0

conflict because openstack-doc-tools has no releases  >=0.23
compatible with oslo.config>=1.11.0:
e.g.
Cached requires for ('openstack-doc-tools', (), <Version('0.26.0')>)
(('argparse', (), <SpecifierSet('')>), ('oslo.config', (),
<SpecifierSet('<1.10.0,>=1.9.3')>), ('pbr', (),
<SpecifierSet('!=0.7,<1.0,>=0.6')>), ('iso8601', (),
<SpecifierSet('>=0.1.9')>), ('lxml', (), <SpecifierSet('>=2.3')>),
('demjson', (), <SpecifierSet('')>), ('babel', (),
<SpecifierSet('>=1.3')>), ('sphinx', (),
<SpecifierSet('!=1.2.0,!=1.3b1,<1.3,>=1.1.2')>))

(this is output from the debug trace in my pip resolver branch).

Now, this is probably never showing up in the gate today, but
something as simple as:
pip install oslo.config
pip install 'openstack-doc-tools>=0.23'
will show the issue:
$ pip install oslo.config
Downloading/unpacking oslo.config
  Downloading oslo.config-1.11.0-py2.py3-none-any.whl (67kB): 67kB downloaded
Requirement already satisfied (use --upgrade to upgrade): six>=1.9.0
in /home/robertc/.virtualenvs/pip-test/lib/python2.7/site-packages
(from oslo.config)
Downloading/unpacking pbr>=0.6,!=0.7,<1.0 (from oslo.config)
  Downloading pbr-0.11.0-py2.py3-none-any.whl (78kB): 78kB downloaded
Downloading/unpacking stevedore>=1.3.0 (from oslo.config)
  Downloading stevedore-1.4.0-py2.py3-none-any.whl
Downloading/unpacking netaddr>=0.7.12 (from oslo.config)
  Downloading netaddr-0.7.14-py2.py3-none-any.whl (1.5MB): 1.5MB downloaded
Requirement already satisfied (use --upgrade to upgrade): argparse in
/usr/lib/python2.7 (from oslo.config)
Requirement already satisfied (use --upgrade to upgrade): pip in
/home/robertc/.virtualenvs/pip-test/lib/python2.7/site-packages (from
pbr>=0.6,!=0.7,<1.0->oslo.config)
Installing collected packages: oslo.config, pbr, stevedore, netaddr
Successfully installed oslo.config pbr stevedore netaddr
Cleaning up...
$ pip install 'openstack-doc-tools>=0.23'
Downloading/unpacking openstack-doc-tools>=0.23
  Downloading openstack_doc_tools-0.26.0-py2.py3-none-any.whl (180kB):
180kB downloaded
Downloading/unpacking iso8601>=0.1.9 (from openstack-doc-tools>=0.23)
  Downloading iso8601-0.1.10.tar.gz
  Running setup.py
(path:/home/robertc/.virtualenvs/pip-test/build/iso8601/setup.py)
egg_info for package iso8601
   Downloading/unpacking oslo.config>=1.9.3,<1.10.0 (from
openstack-doc-tools>=0.23)
  Downloading oslo.config-1.9.3-py2.py3-none-any.whl (67kB): 67kB downloaded
                                         ^^^^^^^^^^^
....

So this will downgrade oslo.config to meet the requirements - and that
could of course be very very surprising to the gate ;)

I don't have a fully formed view yet on complete co-installability in
our global requirements. But without that it may be hard to calculate
a working set that we can pin (if we go all-pinned), and its certainly
harder to write tooling to do any sort of analysis because we have to
start partitioning it into sets that work together, and those that
don't.

-Rob


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



More information about the OpenStack-dev mailing list