summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyu Ishimoto <ryu@midokura.jp>2011-07-20 05:41:09 +0900
committerRyu Ishimoto <ryu@midokura.jp>2011-07-20 05:41:09 +0900
commitaa3df15fa304894d9e62e3282956fe406a89b136 (patch)
tree82696568b44a985e3fd8534bf24b7bed87717a68
parentef7de73bd5855e68484b6e0f1c446b65931a6880 (diff)
Added detroy_vif_network
-rw-r--r--nova/virt/libvirt/connection.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/nova/virt/libvirt/connection.py b/nova/virt/libvirt/connection.py
index 2d654ddaf..85fffb14f 100644
--- a/nova/virt/libvirt/connection.py
+++ b/nova/virt/libvirt/connection.py
@@ -265,6 +265,12 @@ class LibvirtConnection(driver.ComputeDriver):
for network in networks:
self.vif_driver.plug(network)
+ def destroy_vif_network(self, ctxt, instance_id):
+ """Clean up VIF networking on the host."""
+ networks = db.network_get_all_by_instance(ctxt, instance_id)
+ for network in networks:
+ self.vif_driver.unplug(network)
+
def destroy(self, instance, cleanup=True):
instance_name = instance['name']
@@ -323,6 +329,8 @@ class LibvirtConnection(driver.ComputeDriver):
timer = utils.LoopingCall(_wait_for_destroy)
timer.start(interval=0.5, now=True)
+ ctxt = context.get_admin_context()
+ self.destroy_vif_network(ctxt, instance['id'])
self.firewall_driver.unfilter_instance(instance)
if cleanup: