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

Robert Collins robertc at robertcollins.net
Fri May 8 11:13:10 UTC 2015


On 8 May 2015 at 22:54, Sean Dague <sean at dague.net> wrote:
> I'm slightly confused how we got there, because we do try to install
> everything all at once in the test jobs -
> http://logs.openstack.org/83/181083/1/check/check-requirements-integration-dsvm/4effcf7/console.html#_2015-05-07_17_49_26_699
>
> And it seemed to work, you can find similar lines in previous changes as
> well. That was specifically added as a check for these kinds of issues.
> Is this a race in the resolution?

What resolution :).

So what happens with pip install -r
/opt/stack/new/requirements/global-requirements.txt is that the
constraints in that file are all immediately put into pip's state,
including oslo.config >= 1.11.0, and then all other constraints that
reference to oslo.config are simply ignored. this is 1b (and 2a) on
https://github.com/pypa/pip/issues/988.

IOW we haven't been testing what we've thought we've been testing.
What we've been testing is that 'python setup.py install X' for X in
global-requirements.txt works, which sadly doesn't tell us a lot at
all.

So, as I have a working (but unpolished) resolver, when I try to do
the same thing, it chews away at the problem and concludes that no, it
can't do it - because its no longer ignoring the additional
constraints.

To get out of the hole, we might consider using pip-compile now as a
warning job - if it can succeed we'll be able to be reasonably
confident that pip itself will succeed once the resolver is merged.

The resolver I have doesn't preserve the '1b' feature at all at this
point, and we're going to need to find a way to separate out 'I want
X' from 'I want X and I know better than you', which will let folk get
into tasty tasty trouble (like we're in now).

-Rob


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



More information about the OpenStack-dev mailing list