yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #68307
[Bug 1721514] Re: test_driver_spawn_fail_when_unshelving_instance fluctuates
Reviewed: https://review.openstack.org/509759
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b5dca17f74b7a789e16b78178ae5874a30f3e0da
Submitter: Jenkins
Branch: master
commit b5dca17f74b7a789e16b78178ae5874a30f3e0da
Author: Balazs Gibizer <balazs.gibizer@xxxxxxxxxxxx>
Date: Thu Oct 5 14:01:35 2017 +0200
fix unstable shelve offload functional tests
The functional tests that are shelved offloaded instances and
asserted that the resource allocation of the instance are
freed were unstable. These tests only waited for the instance
state to become SHELVED_OFFLOADED before checked the allocations.
However the compute manager sets the instance state to
SHELVED_OFFLOADED before deleting the allocations[1]. Therefore these
tests were racy.
With this patch the test will wait not only for the instance status to
change but also for the instance host to be nulled as that happens
after the resources are freed.
[1] https://github.com/openstack/nova/blob/e4f89ed5dd4259188d020749fa8fb1c77be2c03a/nova/compute/manager.py#L4502-L4521
Change-Id: Ibb90571907cafcb649284e4ea30810a307f1737e
Closes-Bug: #1721514
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1721514
Title:
test_driver_spawn_fail_when_unshelving_instance fluctuates
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) pike series:
In Progress
Bug description:
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 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
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1721514/+subscriptions
References