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.
Conflicts: nova/tests/functional/notification_sample_tests/test_instance.py
Conflicts due to:
* Ie7a886f5b389c2f0bb9dc66129e4562cc09ba1b5
Also in pike there is no _test_shelve_and_shelve_offload_server step but
two distinct steps _test_shelve_server and _test_shelve_offload_server so
this patch needed to be extened on pike. In the_test_shelve_server step
we need to wait for instance.power_on.end instead of instance.unshelve.end
as unshelve without offload just powers on the instance.
Closes-Bug: #1835070
Change-Id: Ie217523a8969326b27930d7f74e50e9b352ab7a1
(cherry picked from commit 40f1e7c4c22dc6023614b34f28bb7fc416b668a8)
(cherry picked from commit 3bc6ff029ff24083844db363010988d8d08cff00)
(cherry picked from commit a85ce04fa39e60e672e4fa2d7912f6880079c6ef)
(cherry picked from commit 8afc39a2c748a8fde070493dd5633788f782c69a)
Reviewed: https:/ /review. opendev. org/676677 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=d89a0d1f96d f1cfe4c9e8025b1 47508315ca239d
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit d89a0d1f96df1cf e4c9e8025b14750 8315ca239d
Author: Balazs Gibizer <email address hidden>
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 shelve_ and_shelve_ offload_ server( ) can bleed into the unshelve_ server( ) step causing that it receive one more
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_
_test_
notifications.
So this patch adds an extra _wait_for_ notification( 'instance. unshelve. end') call to each test
self.
step to prevent the instability.
[1] https:/ /github. com/openstack/ nova/blob/ 5c6c1f8f/ nova/compute/ manager. py#L5322- L5326 /github. com/openstack/ nova/blob/ 5c6c1f8f/ nova/compute/ manager. py#L5329 /github. com/openstack/ nova/blob/ 5c6c1f8f/ nova/tests/ functional/ notification_ sample_ tests/test_ instance. py#L836
[2] https:/
[3] https:/
Conflicts:
nova/ tests/functiona l/notification_ sample_ tests/test_ instance. py f0bb9dc66129e45 62cc09ba1b5
Conflicts due to:
* Ie7a886f5b389c2
Also in pike there is no _test_shelve_ and_shelve_ offload_ server step but offload_ server so shelve_ server step power_on. end instead of instance. unshelve. end
two distinct steps _test_shelve_server and _test_shelve_
this patch needed to be extened on pike. In the_test_
we need to wait for instance.
as unshelve without offload just powers on the instance.
Closes-Bug: #1835070
Change-Id: Ie217523a896932 6b27930d7f74e50 e9b352ab7a1 23614b34f28bb7f c416b668a8) 3844db363010988 d8d08cff00) 672e4fa2d7912f6 880079c6ef) de070493dd56337 88f782c69a)
(cherry picked from commit 40f1e7c4c22dc60
(cherry picked from commit 3bc6ff029ff2408
(cherry picked from commit a85ce04fa39e60e
(cherry picked from commit 8afc39a2c748a8f