Restore libvirt block storage connections on reboot.
Fixes bug 1036902 -- Backported version for stable/essex.
There are a number of cases where block storage connections are not
properly restored, impacting libvirt in particular. The most common
case is a VM which has block storage attached via iSCSI, whereby the
physical system is rebooted. When the system comes back up and
starts nova-compute, the iSCSI connections are NOT recreated for the
instances slated to be resumed (assuming
resume_guests_state_on_host_boot is set).
The patch changes the compute manager to pass block_storage_info via
driver.reboot() and driver.resume_state_on_host_boot(). The fix is
actually only present in the libvirt driver. However, all the other
drivers were updated to accept the additional, optional function
arg.
With the changes in place, iSCSI connections for libvirt are
re-established after a hypervisor reboot with
resume_guests_state_on_host_boot=True and on every hard_reboot.
The latter is intended so that users have a last ditch option for
recovering their VMs without administrative involvement.
Reviewed: https:/ /review. openstack. org/11387 github. com/openstack/ nova/commit/ 09217abddc07bd4 fbaca6c300075df 2c68ffedf7
Committed: http://
Submitter: Jenkins
Branch: stable/essex
commit 09217abddc07bd4 fbaca6c300075df 2c68ffedf7
Author: Rafi Khardalian <email address hidden>
Date: Mon Aug 13 20:53:43 2012 +0000
Restore libvirt block storage connections on reboot.
Fixes bug 1036902 -- Backported version for stable/essex.
There are a number of cases where block storage connections are not guests_ state_on_ host_boot is set).
properly restored, impacting libvirt in particular. The most common
case is a VM which has block storage attached via iSCSI, whereby the
physical system is rebooted. When the system comes back up and
starts nova-compute, the iSCSI connections are NOT recreated for the
instances slated to be resumed (assuming
resume_
The patch changes the compute manager to pass block_storage_info via resume_ state_on_ host_boot( ). The fix is
driver.reboot() and driver.
actually only present in the libvirt driver. However, all the other
drivers were updated to accept the additional, optional function
arg.
With the changes in place, iSCSI connections for libvirt are guests_ state_on_ host_boot= True and on every hard_reboot.
re-established after a hypervisor reboot with
resume_
The latter is intended so that users have a last ditch option for
recovering their VMs without administrative involvement.
Change-Id: I8ab3a138b559ee 0aa1535a928282e 9c372ec5651