[openstack-dev] [requirements] dependencies problem on different release

Gareth academicgareth at gmail.com
Wed Aug 26 14:00:12 UTC 2015


Hey guys,

I have a question about dependencies. There is an example:

On 2014.1, project A is released with its dependency in requirements.txt
which contains:

foo>=1.5.0
bar>=2.0.0,<2.2.0

and half a year later, the requirements.txt changes to:

foo>=1.7.0
bar>=2.1.0,<2.2.0

It looks fine, but potential change would be upstream version of package
foo and bar become 2.0.0 and 3.0.0 (major version upgrade means there are
incompatible changes).

For bar, there will be no problems, because "<2.2.0" limit the version from
major version changes. But with 2.0.0 foo, it will break the installation
of 2014.1 A, because current development can't predict every incompatible
changes in the future.

A real example is to enable Rally for OpenStack Juno. Rally doesn't support
old release officially but I could checkout its codes to the Juno release
date which make both codes match. However even if I use the old
requirements.txt to install dependencies, there must be many packages are
installed as upstream versions and some of them breaks. An ugly way is to
copy pip list from old Juno environment and install those properly. I hope
there are better ways to do this work. Anyone has smart ideas?

-- 
Gareth

*Cloud Computing, OpenStack, Distributed Storage, Fitness, Basketball*
*OpenStack contributor, kun_huang at freenode*
*My promise: if you find any spelling or grammar mistakes in my email from
Mar 1 2013, notify me *
*and I'll donate $1 or ¥1 to an open organization you specify.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150826/8397c779/attachment.html>


More information about the OpenStack-dev mailing list