summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorJian Wen <wenjianhn@gmail.com>2012-09-24 23:30:02 +0800
committerJian Wen <wenjianhn@gmail.com>2012-09-25 12:30:47 +0800
commitd272415fd6fe9cdbd66fdfdf9aedc8a43b87d9b5 (patch)
tree5644956bf5bd1ffd1e963ba0778187a177c9d1e8 /nova/virt
parentbd9767b1aa664e25ca905b40bd9de4ead2f6a959 (diff)
libvirt: Fix _cleanup_resize
Undefine domain and unplug vifs in _cleanup_resize if the instance was migrated to another host. Fixes bug 1015731 Change-Id: If6eb1ada029d462777bbd6ea113c98c3b801cf5d
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/libvirt/driver.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 7e828163c..eb39b0cb5 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -495,7 +495,7 @@ class LibvirtDriver(driver.ComputeDriver):
self._destroy(instance)
self._cleanup(instance, network_info, block_device_info)
- def _cleanup(self, instance, network_info, block_device_info):
+ def _undefine_domain(self, instance):
try:
virt_dom = self._lookup_by_name(instance['name'])
except exception.NotFound:
@@ -526,6 +526,8 @@ class LibvirtDriver(driver.ComputeDriver):
locals(), instance=instance)
raise
+ def _cleanup(self, instance, network_info, block_device_info):
+ self._undefine_domain(instance)
self.unplug_vifs(instance, network_info)
try:
self.firewall_driver.unfilter_instance(instance,
@@ -615,6 +617,8 @@ class LibvirtDriver(driver.ComputeDriver):
shutil.rmtree(target)
if instance['host'] != FLAGS.host:
+ self._undefine_domain(instance)
+ self.unplug_vifs(instance, network_info)
self.firewall_driver.unfilter_instance(instance, network_info)
def volume_driver_method(self, method_name, connection_info,