[openstack-dev] Odd Nova unittests failure with Jenkins

Christopher Yeoh cbkyeoh at gmail.com
Thu May 16 11:57:14 UTC 2013


Hi,

I'm having difficulty understanding why one of my changesets is failing
the Nova unittests. It's https://review.openstack.org/#/c/28756/

The unittests all pass on my development machine as well as second test
machine on which I retrieved the code directly from Jenkins using

git fetch https://review.openstack.org/openstack/nova refs/changes/56/28756/7 && git checkout FETCH_HEAD

(ie for patch set 7 which is the latest version of that changeset).

28756 is dependent on a changeset https://review.openstack.org/#/c/28298/ 
which has not yet been merged. 28298 used to be dependent on 
https://review.openstack.org/#/c/27276/ which has been merged and 28298
has subsequently been rebased on master. Both 28756 and 28298 have
been rebased a lot. 28756 has been rebased on the latest version of 28298.

Now the failures I'm seeing for 28756 look like Jenkins is using the latest
version of 28756, but an earlier version of 28298 which had not yet been rebased on
a recent version master. For example from the logs:

2013-05-16 08:29:10.211 | ======================================================================
2013-05-16 08:29:10.211 | FAIL: nova.tests.api.openstack.compute.plugins.v3.test_servers.ServersControllerTest.test_get_server_with_volumes_attached
2013-05-16 08:29:10.211 | tags: worker-3
2013-05-16 08:29:10.211 | ----------------------------------------------------------------------
2013-05-16 08:29:10.212 | Empty attachments:
2013-05-16 08:29:10.212 |   pythonlogging:''
2013-05-16 08:29:10.212 |   stderr
2013-05-16 08:29:10.212 |   stdout
2013-05-16 08:29:10.212 | 
2013-05-16 08:29:10.212 | Traceback (most recent call last):
2013-05-16 08:29:10.212 |   File "/home/jenkins/workspace/gate-nova-python26/nova/tests/api/openstack/compute/plugins/v3/test_servers.py", line 463, in test_get_server_with_volumes_attached
2013-05-16 08:29:10.212 |     fakes.stub_bdm_get_all_by_instance)
2013-05-16 08:29:10.212 | AttributeError: 'module' object has no attribute 'stub_bdm_get_all_by_instance'
2013-05-16 08:29:10.212 | ======================================================================

The above failure seems to indicate that stub_bdm_get_all_by_instance does not exist in fakes.py (this
was recently merged in the tree), but looking at

https://review.openstack.org/#/c/28298/9/nova/tests/api/openstack/fakes.py 

I can see that it does exist in 28298. The id for patch set 9 is
a13c24df13cc3567416673a56e455a29d8fae969 and patch set 7 for 28756 is
definitely dependent on a13c24df13cc3567416673a56e455a29d8fae969 so 
stub_bdm_get_all_by_instance should be present

Looking at the logs it does look like the correct patchset is getting checked out:

2013-05-16 08:25:35.212 | + git checkout FETCH_HEAD
2013-05-16 08:25:35.457 | Previous HEAD position was f927346... Return Customer's Quota Usage through Admin API
2013-05-16 08:25:35.458 | HEAD is now at 884a084... Merge commit 'refs/changes/56/28756/7' of ssh://review.openstack.org:29418/openstack/nova
2013-05-16 08:25:35.460 | + git reset --hard FETCH_HEAD
2013-05-16 08:25:35.542 | HEAD is now at 884a084 Merge commit 'refs/changes/56/28756/7' of ssh://review.openstack.org:29418/openstack/nova

The other failures are indicative of 28298 being tested when based on an
earlier version of 28756.

Does anyone have any idea what might be going on? Is there any way I can get a copy of
the nova tree that Jenkins actually uses?

Regards,

Chris



More information about the OpenStack-dev mailing list