Filter out router ports without IPs when gathering router sync data

Bug 1152050

Change-Id: Idd11d5f953129471c09f44b4f7c75dc9899d6783
This commit is contained in:
Salvatore Orlando 2013-03-07 12:32:32 +01:00
parent 6bb31ed9f1
commit 25d14dae70

View File

@ -929,10 +929,15 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):
for port in ports:
fixed_ips = port.get('fixed_ips', [])
if len(fixed_ips) > 1:
LOG.error(_("Ignoring multiple IPs on router port %s"),
LOG.info(_("Ignoring multiple IPs on router port %s"),
port['id'])
continue
elif not fixed_ips:
# Skip ports without IPs, which can occur if a subnet
# attached to a router is deleted
LOG.info(_("Skipping port %s as no IP is configure on it"),
port['id'])
continue
# Empty fixed_ips should not happen
fixed_ip = fixed_ips[0]
my_ports = subnet_id_ports_dict.get(fixed_ip['subnet_id'], [])
my_ports.append(port)