]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
lb-agent: fix get_interfaces_on_bridge returning None
authorDarragh O'Reilly <dara2002-openstack@yahoo.com>
Fri, 4 Apr 2014 16:46:30 +0000 (16:46 +0000)
committerDarragh O'Reilly <dara2002-openstack@yahoo.com>
Fri, 4 Apr 2014 17:02:29 +0000 (17:02 +0000)
Change get_interfaces_on_bridge() to return [] instead of None
if the bridge is not found, as callers are expecting an iterator.

Change-Id: I359a2a0cf932c049f6891d4ba3eb8b9b23ab360d
Related-Bug: 1284311

neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py
neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py

index 66b4427420d707efb7922b3d84d718f1b1358306..ec3b22d162547d3e628b5a3b81bc79ea55001156 100755 (executable)
@@ -143,6 +143,8 @@ class LinuxBridgeManager:
             bridge_interface_path = BRIDGE_INTERFACES_FS.replace(
                 BRIDGE_NAME_PLACEHOLDER, bridge_name)
             return os.listdir(bridge_interface_path)
+        else:
+            return []
 
     def get_tap_devices_count(self, bridge_name):
             bridge_interface_path = BRIDGE_INTERFACES_FS.replace(
index f4c5d41c7604beba4096071d3a246af0aec25ba7..a4b2bc7f1a30646f3283dc2788029a133fb81c53 100644 (file)
@@ -231,6 +231,10 @@ class TestLinuxBridgeManager(base.BaseTestCase):
             self.assertEqual(self.lbm.get_interfaces_on_bridge("br0"),
                              ["qbr1"])
 
+    def test_get_interfaces_on_bridge_not_existing(self):
+        self.lbm.device_exists = mock.Mock(return_value=False)
+        self.assertEqual([], self.lbm.get_interfaces_on_bridge("br0"))
+
     def test_get_tap_devices_count(self):
         with mock.patch.object(os, 'listdir') as listdir_fn:
             listdir_fn.return_value = ['tap2101', 'eth0.100', 'vxlan-1000']