diff --git a/neutron/agent/l3_agent.py b/neutron/agent/l3_agent.py index b6bb65a02d..fcc923dfeb 100644 --- a/neutron/agent/l3_agent.py +++ b/neutron/agent/l3_agent.py @@ -1167,7 +1167,7 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, """ fip_statuses = {} - floating_ips = ri.router.get(l3_constants.FLOATINGIP_KEY, []) + floating_ips = self.get_floating_ips(ri) interface_name = self._get_external_device_interface_name( ri, ex_gw_port, floating_ips) if interface_name is None: diff --git a/neutron/tests/unit/test_l3_agent.py b/neutron/tests/unit/test_l3_agent.py index 23f4d5a25b..fb717c216a 100644 --- a/neutron/tests/unit/test_l3_agent.py +++ b/neutron/tests/unit/test_l3_agent.py @@ -1150,6 +1150,12 @@ vrrp_instance VR_1 { 'floating_ip_address': '15.1.2.3', 'fixed_ip_address': '192.168.0.1', 'floating_network_id': _uuid(), + 'port_id': _uuid()}, + {'id': _uuid(), + 'host': 'some-other-host', + 'floating_ip_address': '15.1.2.4', + 'fixed_ip_address': '192.168.0.10', + 'floating_network_id': _uuid(), 'port_id': _uuid()}]} router = prepare_router_data(enable_snat=True)