Comment 2 for bug 1835070

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

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 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
    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