diff --git a/neutron/agent/l3/dvr_edge_router.py b/neutron/agent/l3/dvr_edge_router.py index ee624eae142..c94fbd3714f 100644 --- a/neutron/agent/l3/dvr_edge_router.py +++ b/neutron/agent/l3/dvr_edge_router.py @@ -317,6 +317,8 @@ class DvrEdgeRouter(dvr_local_router.DvrLocalRouter): try: ip_lib.add_ip_address(fip_cidr, interface_name, namespace=self.snat_namespace.name) + except ip_lib.IpAddressAlreadyExists: + pass except RuntimeError: LOG.warning("Unable to configure IP address for centralized " "floating IP: %s", fip['id']) diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py index 09a371f1834..887dc265d4e 100644 --- a/neutron/agent/linux/ip_lib.py +++ b/neutron/agent/linux/ip_lib.py @@ -829,6 +829,7 @@ def get_device_mtu(device_name, namespace=None): NetworkNamespaceNotFound = privileged.NetworkNamespaceNotFound NetworkInterfaceNotFound = privileged.NetworkInterfaceNotFound +IpAddressAlreadyExists = privileged.IpAddressAlreadyExists def add_ip_address(cidr, device, namespace=None, scope='global',