From: Darragh O'Reilly Date: Fri, 4 Apr 2014 16:46:30 +0000 (+0000) Subject: lb-agent: fix get_interfaces_on_bridge returning None X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=9608aa0a2cf8ec8c2172e588bffdef03b7f00aa7;p=openstack-build%2Fneutron-build.git lb-agent: fix get_interfaces_on_bridge returning None 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 --- diff --git a/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py b/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py index 66b442742..ec3b22d16 100755 --- a/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py +++ b/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py @@ -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( diff --git a/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py b/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py index f4c5d41c7..a4b2bc7f1 100644 --- a/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py +++ b/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py @@ -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']