diff --git a/nova/compute/manager.py b/nova/compute/manager.py index c0ad9e6..88f6513 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1966,7 +1966,7 @@ class ComputeManager(manager.SchedulerDependentManager): block_device_info = \ self._get_instance_volume_block_device_info(context, instance_id) self.driver.destroy(instance_ref, network_info, - block_device_info, True) + block_device_info) @manager.periodic_task def _poll_rebooting_instances(self, context): diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py index 85c48e4..a121797 100644 --- a/nova/virt/libvirt/connection.py +++ b/nova/virt/libvirt/connection.py @@ -1713,8 +1713,8 @@ class LibvirtConnection(driver.ComputeDriver): FLAGS.live_migration_bandwidth) except Exception: - recover_method(ctxt, instance_ref, dest, block_migration) - raise + with utils.save_and_reraise_exception(): + recover_method(ctxt, instance_ref, dest, block_migration) # Waiting for completion of live_migration. timer = utils.LoopingCall(f=None)