[openstack-dev] excessively difficult to support both iso8601 0.1.4 and 0.1.8 as deps

David Kranz dkranz at redhat.com
Wed Nov 27 19:35:17 UTC 2013

On 11/27/2013 12:46 PM, Alan Pevec wrote:
> 2013/11/27 Sean Dague <sean at dague.net>:
>> The problem is you can't really support both iso8601 was dormant for
>> years, and the revived version isn't compatible with the old version.
>> So supporting both means basically forking iso8601 and maintaining you
>> own version of it monkey patched in your own tree.
> Right, hence glance was added https://review.openstack.org/55998 to
> unblock the previous gate failure.
> Issue now is that stable/grizzly Tempest uses clients from git trunk,
> which is not going to work since trunk will add more and more
> incompatible dependencies, even if backward compatbility is preserved
> against the old service APIs!
I think when we decided to unpin clients and said that current clients 
should work with older servers, we really wanted that to mean "current 
client can talk the REST API of older servers so users don't have to 
deal with this" but we ended up with "current clients can be installed 
in the same python env as older servers", and implemented the 
compatibility testing assuming the latter.
> Solutions could be that Tempest installs clients into separate venv to
> avoid dependecy conflicts or establish stable/* branches for
> clients[1] which are created around OpenStack release time.
We might be able to get the gate testing to work with a separate venv, 
but I don't know enough to be sure. Even if we could do that, users 
could have the same problem if they try to install a current library on 
a machine with an older server. It is a problem that we are stuck in the 
python version of http://en.wikipedia.org/wiki/DLL_Hell but where there 
is not even an attempt by some libraries to be compatible. Or am I 
missing something? Is there some way to support side-by-side libraries 
the way Microsoft eventually did to get out of this mess?

> Cheers,
> Alan
> [1] we have those for openstack client packages in Fedora/RDO
>       e.g. https://github.com/redhat-openstack/python-novaclient/branches
>       Here's nice explanation by Jakub: http://openstack.redhat.com/Clients
>> On Wed, Nov 27, 2013 at 1:58 AM, Yaguang Tang
>> <yaguang.tang at canonical.com> wrote:
>>> after update to iso8601>=0.1.8, it breaks stable/neutron jenkins tests,
>>> because stable/glance requires  iso8601<=0.1.4, log info
>>> https://jenkins02.openstack.org/job/periodic-tempest-devstack-vm-neutron-stable-grizzly/43/console,
>>> I have filed a bug to track this
>>> https://bugs.launchpad.net/glance/+bug/1255419.

More information about the OpenStack-dev mailing list