summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
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 1be1ca465..78b02633f 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,