[openstack-dev] [devstack] pip 8 no longer over-installs system packages [was: Gate failure]

Ian Wienand iwienand at redhat.com
Wed Jan 20 05:14:09 UTC 2016


On 01/20/2016 12:53 PM, Robert Collins wrote:
> I suspect we'll see fallout in unit tests too, once new images are
> built.

If the images can build ...

This was marked as deprecated, I understand, but the removal is very
unfortunate [1] considering it's really just a
shoot-yourself-in-the-foot operation.

 From the latest runs, on ubuntu we are using pip to over-install
system packages of

  six
  requests
  netaddr
  PyYAML
  PyOpenSSL
  jsonpointer
  urllib3
  PyYAML
  pyOpenSSL

On CentOS it is

  requests
  PyYAML
  enum34
  ipaddress
  numpy

The problem is that we can't remove these system packages with the
package-manager from the base images, because other packages we need
rely on having them installed.  Just removing the directory as pip
used to do has been enough to keep things going.

So, what to do?  We can't stay at pip < 8 forever, because I'm sure
there will be some pip problem we need to patch soon enough.

Presume we can't remove the system python-* packages for these tools
because other bits of the system rely on it.  We've been down the path
of creating dummy packages before, I think ... that never got very
far.

I really don't know how with the world of devstack plugins we'd deploy
a strict global virtualenv.  Heaven knows what "creative" things
plugins are going to come up with if someone hits this (not that I've
proposed anything elegant)...

Would pip accept maybe a environment flag to restore the old ability
to remove based on the egg-info?  Is it really so bad given what
devstack is doing?

-i

[1] 
https://github.com/pypa/pip/commit/6afc718307fea36b9ffddd376c1395ee1061795c



More information about the OpenStack-dev mailing list