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

Robert Collins robertc at robertcollins.net
Sat May 9 19:09:38 UTC 2015


On 9 May 2015 at 23:42, Jeremy Stanley <fungi at yuggoth.org> wrote:
> On 2015-05-09 06:46:59 +1200 (+1200), Robert Collins wrote:
>> As I read it, we've got some tooling that isn't PEP-440 compatible
>> (https://www.python.org/dev/peps/pep-0440/#compatible-release defines
>> ~=) and as such we had to rollback the intended use of that. As long
>> as we identify and fix those tools, we should be fine. Did anyone
>> involved with that situation create a bug we can use to track this? I
>> don't think it has anything to do with the choice of cap-or-not.
>
> We had (have) virtualenv versions in use in automation which bundle
> a pip and setuptools too old to support this... lingering fallout

This is my understanding: We explicitly install pip latest in our jobs
(via get-pip, retrieved over https). Virtualenv shouldn't be version
sensitive at all to this since its not evaluating versions of
anything. setuptools may end up having a lower bound for environment
markers (since we don't want to trigger easy_install when pip rightly
ignores a different platform dependency).

The virtualenv <->pypy thing is different, because it's dealing with
pypy quirks around some stdlib module, from memory.

> from the scramble around pinning these bits of the toolchain at the
> end of last year while we tried to keep everything running. Clark
> has proposed https://review.openstack.org/181558 which we can try
> and then quickly revert if too much explodes.

Cool, lets do that.

> However it's worth noting, as soon as we start adding ~= into
> requirements files we're basically saying we no longer support
> installing any of those packages with pip<6 or setuptools<8 (or with
> virtualenv<12 without an implicit upgrade step in the resulting
> env). The supporting versions of these tools/libs aren't even 6
> months old yet.

If we want to fix the plumbing, we should expect to run the latest
releases of pip, wheel, setuptools during the fixing period, until all
the relevant bugs we have are fixed; the age of the releases doesn't
mean a lot.

For folk running tooling matching CI's tooling, they need to match
minimum versions too.
For folk running distro packaging based tooling, they may need to
match minimum versions in the package build toolchain, but at runtime
pip and virtualenv and wheel and setuptools will all be irrelevant.

-Rob


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



More information about the OpenStack-dev mailing list