3bc6ff029f
The notification sample test for unshelve waits for the instance to
reach ACTIVE state and then asserts if unshelve.end notification is
emitted properly. However the instance.vm_state is set to ACTIVE earlier[1]
than emitting the unshelve.end notification[2]. This can cause two
different test case failure.
1) _test_unshelve_server() fails with no ushelve.end notification
received.
2) _test_shelve_and_shelve_offload_server() also has a unshelve action
at the end and that test step also only waits for the the ACTIVE state.
So the unshelve.end notification from the end of
_test_shelve_and_shelve_offload_server() can bleed into the
_test_unshelve_server() step causing that it receive one more
notifications.
So this patch adds an extra
self._wait_for_notification('instance.unshelve.end') call to each test
step to prevent the instability.
[1] https://github.com/openstack/nova/blob/5c6c1f8f/nova/compute/manager.py#L5322-L5326
[2] https://github.com/openstack/nova/blob/5c6c1f8f/nova/compute/manager.py#L5329
[3] https://github.com/openstack/nova/blob/5c6c1f8f/nova/tests/functional/notification_sample_tests/test_instance.py#L836
Closes-Bug: #1835070
Change-Id: Ie217523a8969326b27930d7f74e50e9b352ab7a1
(cherry picked from commit
|
||
---|---|---|
.. | ||
__init__.py | ||
notification_sample_base.py | ||
test_aggregate.py | ||
test_compute_task.py | ||
test_exception_notification.py | ||
test_flavor.py | ||
test_instance.py | ||
test_keypair.py | ||
test_libvirt.py | ||
test_metrics.py | ||
test_server_group.py | ||
test_service.py | ||
test_volume.py |