It is possible to shelve a paused instance, but in that case the
guest is already shutdown, and some hypervisors will fail when
trying to perform a clean shutdown of a non-running guest. For
example, attempting to shelve a paused libvirt instance will
result in this error:
libvirtError: Requested operation is not valid: domain is not running
Therefore, if the instance is paused, we don't attempt a clean
shutdown while shelving.
Reviewed: https:/ /review. openstack. org/569651 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=ce740643686 bcf4ed8a1e08908 2547cf8fcef8fc
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit ce740643686bcf4 ed8a1e089082547 cf8fcef8fc
Author: LeopardMa <email address hidden>
Date: Wed Feb 7 10:21:08 2018 +0800
Fix shelving a paused instance
It is possible to shelve a paused instance, but in that case the
guest is already shutdown, and some hypervisors will fail when
trying to perform a clean shutdown of a non-running guest. For
example, attempting to shelve a paused libvirt instance will
result in this error:
libvirtError: Requested operation is not valid: domain is not running
Therefore, if the instance is paused, we don't attempt a clean
shutdown while shelving.
Related Tempest test: https:/ /review. openstack. org/564127/
Closes-Bug: #1745529 01fbe8513a6c1db a8b697c24e4 1b5253a1568b22a f1d9dd1a08)
Change-Id: I8ca25d9847d500
(cherry picked from commit d5901f613cf98f6