libvirtd upstart job should handle host reboot/shutdown
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Mirantis OpenStack | Status tracked in 10.0.x | |||||
10.0.x |
Fix Released
|
High
|
Ivan Suzdal | |||
9.x |
Fix Released
|
High
|
Ivan Suzdal |
Bug Description
The upstart job must give the running VMs an opportunity to handle the host shutdown (flush the outstanding writes to the disk).
Otherwise the following happens during the host reboot/shutdown
- upstarts stops libvirtd (SIGTERM, pause, SIGKILL, unless pre-stop and stop actions defined), qemu processes powering the VMs are still running
- upstart stops other services
- upstart stops the remaining processes, including qemu ones: SIGTERM, pause, SIGKILL
The problem is that the pause (a few seconds) is way too short for flushing the data, especially if there are several VMs running,
so the host reboot/shutdown can easily corrupt VMs' filesystems.
Suggested fix: gracefully shutdown domains in the pre-stop script (similarly to libvirt-bin package shipped by Canonical)
(This check performed automatically)
Please, make sure that bug description contains the following sections filled in with the appropriate data related to the bug you are describing:
actual result
version
expected result
steps to reproduce
For more detailed information on the contents of each of the listed sections see https:/ /wiki.openstack .org/wiki/ Fuel/How_ to_contribute# Here_is_ how_you_ file_a_ bug