8afc39a2c7
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 Conflicts: nova/tests/functional/notification_sample_tests/test_instance.py Conflicts due to: * I1a0afa0e8740c229db77c18b932e316196880de5 Closes-Bug: #1835070 Change-Id: Ie217523a8969326b27930d7f74e50e9b352ab7a1 (cherry picked from commit |
||
---|---|---|
.. | ||
__init__.py | ||
notification_sample_base.py | ||
test_aggregate.py | ||
test_exception_notification.py | ||
test_flavor.py | ||
test_instance.py | ||
test_keypair.py | ||
test_server_group.py | ||
test_service.py |