[openstack-dev] nova dependencies, oslo-config and pypi

Mark McLoughlin markmc at redhat.com
Mon Feb 25 20:10:51 UTC 2013


On Mon, 2013-02-25 at 10:25 -0800, Johannes Erdfelt wrote:
> I noticed that oslo-config isn't in pypi yet.
> 
> This is causing some problems when nova is installed in some ways.
> 
> For instance, if you use 'pip install
> http://tarballs.openstack.org/nova/nova-2013.1.g3.tar.gz' or if nova is
> installed indirectly because of a dependency (such as for nova_limits).
> 
> It appears the reason is because of limitations in setuptools and the
> different ways dependencies can get installed.
> 
> The nova tox config will install dependencies by calling pip directly.
> This can handle the URL style install of oslo-config just fine. However,
> when using pip install with a nova tarball, or when indirectly installed
> by dependencies, setuptools is used.
> 
> nova (using nova.openstack.common.setup) will generate a list of
> dependencies based on the tools/pip-requires file for the setuptools
> install_requires parameter. In doing so, it will convert the URL for
> oslo-config into just a package name.
> 
> Unfortunately oslo-config doesn't exist in pypi, causing the install to
> fail with an error similar to this:
> 
> Downloading/unpacking oslo-config (from nova==2013.1.g3)
>   Could not find any downloads that satisfy the requirement oslo-config
> (from nova==2013.1.g3)
> No distributions at all found for oslo-config (from nova==2013.1.g3)

When you're installing this way, why isn't dependency_links being
respected?

> It looks like the best way of fixing this is to get oslo-config into
> pypi. Is there a reason it isn't already?
> 
> Should we restrict URLs in pip-requires to avoid similar problems in the
> future?

It's very much intentional that oslo-config isn't on pypi yet.

During the development cycle between releases, we'll be adding APIs to
oslo libraries and making the various other projects consume those.
During the development cycle, we may find ourselves introducing
regressions or needing to change new APIs.

I don't want pypi users to be subjected to any of that stability - oslo
libraries will have a release not long before the server projects are
released and that will be what will be pushed to pypi. They'll also have
releases from their stable branches as an avenue to push bugfix only
updates to pypi.

Cheers,
Mark.




More information about the OpenStack-dev mailing list