Comment 0 for bug 1721514

Revision history for this message
Balazs Gibizer (balazs-gibizer) wrote :

The functional test test_driver_spawn_fail_when_unshelving_instance fluctuates at the following place:
Captured traceback:
2017-10-04 17:29:33.464455 | ~~~~~~~~~~~~~~~~~~~
2017-10-04 17:29:33.464483 | b'Traceback (most recent call last):'
2017-10-04 17:29:33.464577 | b' File "/home/jenkins/workspace/gate-nova-tox-functional-py35-ubuntu-xenial/nova/tests/functional/test_servers.py", line 2664, in test_driver_spawn_fail_when_unshelving_instance'
2017-10-04 17:29:33.464618 | b" {'vcpus': 0, 'ram': 0, 'disk': 0}, usages)"
2017-10-04 17:29:33.464695 | b' File "/home/jenkins/workspace/gate-nova-tox-functional-py35-ubuntu-xenial/nova/tests/functional/test_servers.py", line 1117, in assertFlavorMatchesAllocation'
2017-10-04 17:29:33.464733 | b" self.assertEqual(flavor['vcpus'], allocation['VCPU'])"
2017-10-04 17:29:33.464816 | b' File "/home/jenkins/workspace/gate-nova-tox-functional-py35-ubuntu-xenial/.tox/functional-py35/lib/python3.5/site-packages/testtools/testcase.py", line 411, in assertEqual'
2017-10-04 17:29:33.464849 | b' self.assertThat(observed, matcher, message)'
2017-10-04 17:29:33.464931 | b' File "/home/jenkins/workspace/gate-nova-tox-functional-py35-ubuntu-xenial/.tox/functional-py35/lib/python3.5/site-packages/testtools/testcase.py", line 498, in assertThat'
2017-10-04 17:29:33.464953 | b' raise mismatch_error'
2017-10-04 17:29:33.464985 | b'testtools.matchers._impl.MismatchError: 0 != 1'
2017-10-04 17:29:33.464998 | b''
2017-10-04 17:29:33.465008 |

It is because the test waits for the instance state to be set to SHELVED_OFFLOADED but and then asserts that the allocation of the instance is deleted in Placement. But the compute/manager set the instance state _before_ it deletes that allocation so the test is racy.

[1] http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22in%20test_driver_spawn_fail_when_unshelving_instance%5C%22