From 45a523681f2136f8fefb6c3da44540decd6a0fda Mon Sep 17 00:00:00 2001 From: armando-migliaccio Date: Mon, 15 Sep 2014 18:40:08 -0700 Subject: [PATCH] Revert "Cleanup floatingips also on router delete" This reverts commit c3326996e38cb67f8d4ba3dabd829dc6f327b666. The patch being reverted here addresses an issue that can no longer be reproduced, in that under no circumstances, I can make the FIP lie around before deleting a router (which can only be done after all FIP have been disassociated or released). Unless we have more clarity as to what the initial commit was really meant to fix, there is a strong case for reverting this patch at this point. Closes-bug: #1373100 Change-Id: I7e0f80e456ff4d9eb57a1d31c6ffc7cdfca5a163 --- neutron/agent/l3_agent.py | 4 ++-- neutron/tests/unit/test_l3_agent.py | 10 ---------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/neutron/agent/l3_agent.py b/neutron/agent/l3_agent.py index 84953bc2e..c12693558 100644 --- a/neutron/agent/l3_agent.py +++ b/neutron/agent/l3_agent.py @@ -948,7 +948,7 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, # Process SNAT/DNAT rules for floating IPs fip_statuses = {} try: - if ex_gw_port or ri.ex_gw_port: + if ex_gw_port: existing_floating_ips = ri.floating_ips self.process_router_floating_ip_nat_rules(ri) ri.iptables_manager.defer_apply_off() @@ -962,7 +962,7 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, for fip in ri.router.get(l3_constants.FLOATINGIP_KEY, []): fip_statuses[fip['id']] = l3_constants.FLOATINGIP_STATUS_ERROR - if ex_gw_port or ri.ex_gw_port: + if ex_gw_port: # Identify floating IPs which were disabled ri.floating_ips = set(fip_statuses.keys()) for fip_id in existing_floating_ips - ri.floating_ips: diff --git a/neutron/tests/unit/test_l3_agent.py b/neutron/tests/unit/test_l3_agent.py index 0be506e7c..c9fb026f3 100644 --- a/neutron/tests/unit/test_l3_agent.py +++ b/neutron/tests/unit/test_l3_agent.py @@ -988,17 +988,7 @@ class TestBasicRouterOperations(base.BaseTestCase): del router[l3_constants.INTERFACE_KEY] del router['gw_port'] agent.process_router(ri) - ex_gw_port = agent._get_ex_gw_port(ri) self.assertEqual(self.send_arp.call_count, 1) - agent.process_router_floating_ip_addresses.assert_called_with( - ri, ex_gw_port) - agent.process_router_floating_ip_addresses.reset_mock() - agent.process_router_floating_ip_nat_rules.assert_called_with(ri) - agent.process_router_floating_ip_nat_rules.reset_mock() - - # now no ports no gateway, test state tear down - ri.ex_gw_port = None - agent.process_router(ri) self.assertFalse(agent.process_router_floating_ip_addresses.called) self.assertFalse(agent.process_router_floating_ip_nat_rules.called) -- 2.45.2