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
# 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()
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:
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)