commit c07ed15415c0ec3c5862f437f440632eff1e94df
Author: Phil Day <email address hidden>
Date: Fri Jan 24 15:43:20 2014 +0000
Power off commands should give guests a chance to shutdown
Currently in libvirt operations which power off an instance such as stop,
shelve, rescue, and resize simply destroy the underlying VM. Some
GuestOS's do not react well to this type of power failure, and so it would
be better if these operations followed the same approach as soft_reboot
and give the guest as chance to shutdown gracefully.
The shutdown behavior is defined by two values:
- shutdown_timeout defines the overall period a Guest is allowed to
complete it's shutdown. The default valus is set via nova.conf and can be
overridden on a per image basis by image metadata allowing different types
of guest OS to specify how long they need to shutdown cleanly.
- shutdown_retry_interval defines how frequently within that period
the Guest will be signaled to shutdown. This is a protection against
guests that may not be ready to process the shutdown signal when it
is first issued. (e.g. still booting). This is defined as a constant.
This is one of a set of changes that will eventually expose the choice
of whether to give the GuestOS a chance to shutdown via the API.
This change implements the libvirt changes to power_off() and adds
a clean shutdown to compute.manager.stop().
Subsequent patches will:
- Add clean shutdown to Shelve
- Add clean shutdown to Rescue
- Convert soft_reboot to use the same approach
- Expose clean shutdown via rpcapi
- Expose clean shutdown via API
Reviewed: https:/ /review. openstack. org/68942 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=c07ed15415c 0ec3c5862f437f4 40632eff1e94df
Committed: https:/
Submitter: Jenkins
Branch: master
commit c07ed15415c0ec3 c5862f437f44063 2eff1e94df
Author: Phil Day <email address hidden>
Date: Fri Jan 24 15:43:20 2014 +0000
Power off commands should give guests a chance to shutdown
Currently in libvirt operations which power off an instance such as stop,
shelve, rescue, and resize simply destroy the underlying VM. Some
GuestOS's do not react well to this type of power failure, and so it would
be better if these operations followed the same approach as soft_reboot
and give the guest as chance to shutdown gracefully.
The shutdown behavior is defined by two values:
- shutdown_timeout defines the overall period a Guest is allowed to
complete it's shutdown. The default valus is set via nova.conf and can be
overridden on a per image basis by image metadata allowing different types
of guest OS to specify how long they need to shutdown cleanly.
- shutdown_ retry_interval defines how frequently within that period
the Guest will be signaled to shutdown. This is a protection against
guests that may not be ready to process the shutdown signal when it
is first issued. (e.g. still booting). This is defined as a constant.
This is one of a set of changes that will eventually expose the choice
of whether to give the GuestOS a chance to shutdown via the API.
This change implements the libvirt changes to power_off() and adds manager. stop().
a clean shutdown to compute.
Subsequent patches will:
- Add clean shutdown to Shelve
- Add clean shutdown to Rescue
- Convert soft_reboot to use the same approach
- Expose clean shutdown via rpcapi
- Expose clean shutdown via API
Partially- Implements: blueprint user-defined- shutdown
Closes-Bug: #1196924
DocImpact
Change-Id: I432b0b0c09db82 797f28deb5617f0 2ee45a4278c