jenkins tests fails for neutron/grizzly duo to iso8601 version requirement conflict

Bug #1255419 reported by Yaguang Tang
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Glance
Invalid
Undecided
Unassigned
Grizzly
In Progress
Undecided
Unassigned
OpenStack Core Infrastructure
Invalid
Undecided
Unassigned
tempest
Invalid
Undecided
Unassigned
Grizzly
Invalid
Undecided
Unassigned

Bug Description

2013-11-27 02:51:09.989 | 2013-11-27 02:51:09 Installed /opt/stack/new/neutron
2013-11-27 02:51:09.990 | 2013-11-27 02:51:09 Processing dependencies for quantum==2013.1.5.a1.g666826a
2013-11-27 02:51:09.991 | 2013-11-27 02:51:09 error: Installed distribution iso8601 0.1.4 conflicts with requirement iso8601>=0.1.8
2013-11-27 02:51:09.991 | 2013-11-27 02:51:09 ++ failed
2013-11-27 02:51:09.993 | 2013-11-27 02:51:09 ++ local r=1
2013-11-27 02:51:09.993 | 2013-11-27 02:51:09 +++ jobs -p
2013-11-27 02:51:09.994 | 2013-11-27 02:51:09 ++ kill
2013-11-27 02:51:09.994 | 2013-11-27 02:51:09 ++ set +o xtrace
2013-11-27 02:51:09.995 | 2013-11-27 02:51:09 stack.sh failed: full log in /opt/stack/new/devstacklog.txt.2013-11-27-024805

full log https://jenkins02.openstack.org/job/periodic-tempest-devstack-vm-neutron-stable-grizzly/43/console

the root case is that recently iso8601 updated to >=0.1.8 , python-novaclient updated to catch this. but stable/glance requirement is iso8601<=0.1.4.

Yaguang Tang (heut2008)
Changed in glance:
assignee: nobody → Yaguang Tang (heut2008)
Yaguang Tang (heut2008)
description: updated
affects: glance → python-novaclient
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-novaclient (master)

Fix proposed to branch: master
Review: https://review.openstack.org/58687

Changed in python-novaclient:
status: New → In Progress
Yaguang Tang (heut2008)
Changed in python-novaclient:
assignee: Yaguang Tang (heut2008) → nobody
affects: python-novaclient → glance
summary: jenkins tests fails for neutron/grizzly duo to iso8601 version
- requirement conlict
+ requirement conflict
Revision history for this message
Jeremy Stanley (fungi) wrote :

Marking invalid on infrastructure since this is something which has to be fixed within the affected projects.

Changed in openstack-ci:
status: New → Invalid
Alan Pevec (apevec)
Changed in glance:
status: In Progress → Opinion
Changed in tempest:
status: New → Invalid
Changed in glance:
status: Opinion → Invalid
Revision history for this message
Alan Pevec (apevec) wrote :

I don't think this can be fixed in Glance stable/grizzly or any client,
issue is that Tempest is installing clients from trunk into the same venv as stable/grizzly services being tested!

It should be either separate venv for clients or we must introduce stable/* from clients.
Related openstack-dev thread is http://lists.openstack.org/pipermail/openstack-dev/2013-November/020587.html

Revision history for this message
Jeremy Stanley (fungi) wrote :

Can we just revert the requirements changes which bring in newer is08601 for now, until this can be done in a safer manner? This is currently blocking release of critical security fixes.

Revision history for this message
Alan Pevec (apevec) wrote :

Bumping requirement on stable/* doesn't look like a right approach, wasn't there a design session about freezing requirements on stable/* ?

Also iso8601>=0.1.8 didn't work on Grizzly when I tried it: https://review.openstack.org/53703
and then went with <=0.1.4 instead: https://review.openstack.org/55998

Revision history for this message
Alan Pevec (apevec) wrote :

> Also iso8601>=0.1.8 didn't work on Grizzly when I tried it:

Here was another attempt with some tests adjusted before I gave up: https://review.openstack.org/55939
I can restore it, if anyone would like to fix tests completely.

Revision history for this message
Jeremy Stanley (fungi) wrote :

The upshot of that summit session was that there was a fair amount of support for the idea of capping dependencies we don't produce in the requirements files on stable branches of projects participating in our integrated release, but that we should seek further consensus prior to doing so. This bug, on the other hand, is about a dependency we *do* produce but which does not itself participate in the integrated release, and the intent there was that we should introduce additional backward compatibility testing in the gate to insure against client projects introducing changes (including transitive dependencies) which are incompatible with stable release branches of projects interacting with or consuming them. Basically once a client project merged a change to require a newer iso8601 than was allowed in one or more stable server branches, integration gating was instantly broken for that stable release.

It was suggested in bug 1242501 as well as other places (notably during discussions with Mark W. and other Glance devs on #openstack-infra shortly prior to the summit) that they should pursue support for both iso8601 0.1.4 and 0.1.8, but this was rejected at the time because it meant either exhibiting inconsistent behavior depending on which was installed or reimplementing a significant amount of iso8601 0.1.8 in Glance. If the proposed backward-compat testing were in place, the only options to get newer is08601 support through the gate would have been for Glance to support both, or for the stable branches of projects to be fixed such that they would also work with newer iso8601.

Revision history for this message
Xavier Queralt (xqueralt-deactivatedaccount) wrote :

This is causing the tempest-dsvm-neutron job fail for all the proposed grizzly patches, preventing any patch for grizzly from being checked or verified.

Would it be possible to use an older version of iso8601 for grizzly branches?

Revision history for this message
Jeremy Stanley (fungi) wrote :

Unfortunately not. The problem here is newer OpenStack libraries prematurely abandoning support for older iso8601 when Grizzly (which imports these libraries for intercommunication) does not work with it. Also this makes it tough to test new clients against Grizzly servers on the same machine, since their declared iso8601 requirements conflict with one another. Testing Grizzly with older iso8601 at the moment would mean testing it against older (no longer security-supported) OpenStack client libraries. The options I see here are:

A. Revert work requiring newer iso8601 until after Grizzly is no longer supported.

B. Adjust current libraries to support both old and new iso8601.

C. Modify Grizzly to support new iso8601.

Revision history for this message
Alan Pevec (apevec) wrote :

So let's try C. although I don't think bumping required versions of dependencies on stable is a good idea in general, but we need to unblock stable/grizzly somehow.

I've restored https://review.openstack.org/55939 and tests pass now, but I'm not sure if that's enough to declare grizzly Glance is fully working with iso8601 - I'll add more Glance floks as reviewers.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.