From cb38773cc70e7977be7dd9fc44815f2c13defa9d Mon Sep 17 00:00:00 2001 From: Akihiro MOTOKI Date: Mon, 10 Sep 2012 21:35:29 +0900 Subject: [PATCH] Remove an external interface when router-gateway is removed. Fixes bug 1048617 Change-Id: Ib7e80fcd6b7e2ffd974067a8039dd74f25005856 --- quantum/agent/l3_agent.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quantum/agent/l3_agent.py b/quantum/agent/l3_agent.py index 902d60c62f..96fe5b402f 100644 --- a/quantum/agent/l3_agent.py +++ b/quantum/agent/l3_agent.py @@ -202,7 +202,8 @@ class L3NATAgent(object): if not r['admin_state_up']: continue - ex_net_id = r['external_gateway_info'].get('network_id', None) + ex_net_id = (r['external_gateway_info'] and + r['external_gateway_info'].get('network_id')) if not ex_net_id and not self.conf.handle_internal_only_routers: continue @@ -381,7 +382,8 @@ class L3NATAgent(object): if ip_lib.device_exists(interface_name, root_helper=self.conf.root_helper, namespace=ri.ns_name()): - self.driver.unplug(interface_name) + self.driver.unplug(interface_name, + bridge=self.conf.external_network_bridge) ex_gw_ip = ex_gw_port['fixed_ips'][0]['ip_address'] for c, r in self.external_gateway_filter_rules():