]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Do not transfer ips if there isn't any
authorSalvatore Orlando <salv.orlando@gmail.com>
Fri, 31 Aug 2012 14:30:54 +0000 (07:30 -0700)
committerSalvatore Orlando <salv.orlando@gmail.com>
Fri, 31 Aug 2012 14:32:18 +0000 (07:32 -0700)
Fixes bug 1044403

Check if the interface being attached to the bridge has ips
before iterating over them

Change-Id: I54315831f240c6810707e7247e7a76c1bfa8742e

quantum/plugins/linuxbridge/agent/linuxbridge_quantum_agent.py

index 06778cce23b8031c723590bc7f00fa2bd80643b3..3ca24d89809a7a321bd3a5f33d6e7c025b053826 100755 (executable)
@@ -216,10 +216,11 @@ class LinuxBridge:
             src_device = self.ip.device(source)
 
         # Append IP's to bridge if necessary
-        for ip in ips:
-            dst_device.addr.add(ip_version=ip['ip_version'],
-                                cidr=ip['cidr'],
-                                broadcast=ip['broadcast'])
+        if ips:
+            for ip in ips:
+                dst_device.addr.add(ip_version=ip['ip_version'],
+                                    cidr=ip['cidr'],
+                                    broadcast=ip['broadcast'])
 
         if gateway:
             # Ensure that the gateway can be updated by changing the metric
@@ -231,9 +232,10 @@ class LinuxBridge:
             src_device.route.delete_gateway(gateway=gateway['gateway'])
 
         # Remove IP's from interface
-        for ip in ips:
-            src_device.addr.delete(ip_version=ip['ip_version'],
-                                   cidr=ip['cidr'])
+        if ips:
+            for ip in ips:
+                src_device.addr.delete(ip_version=ip['ip_version'],
+                                       cidr=ip['cidr'])
 
     def ensure_bridge(self, bridge_name, interface, ips=None, gateway=None):
         """