Reviewed: https://review.opendev.org/668675 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=40f1e7c4c22dc6023614b34f28bb7fc416b668a8 Submitter: Zuul Branch: master
commit 40f1e7c4c22dc6023614b34f28bb7fc416b668a8 Author: Balazs Gibizer <[email protected]> Date: Tue Jul 2 14:56:40 2019 +0200 Stabilize unshelve notification sample tests 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 ** 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/1835070 Title: The unshelve notification functional sample test fails intermittently Status in OpenStack Compute (nova): Fix Released Bug description: 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 failures. 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. [1] https://github.com/openstack/nova/blob/5c6c1f8fce7cd976dedc0a1ad28836ed87af2780/nova/compute/manager.py#L5322-L5326 [2] https://github.com/openstack/nova/blob/5c6c1f8fce7cd976dedc0a1ad28836ed87af2780/nova/compute/manager.py#L5329 [3] https://github.com/openstack/nova/blob/5c6c1f8fce7cd976dedc0a1ad28836ed87af2780/nova/tests/functional/notification_sample_tests/test_instance.py#L836 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1835070/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

