diff --git a/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py b/neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py index 66b4427420..ec3b22d162 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 fed96aa888..2477d163ca 100644 --- a/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py +++ b/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py @@ -229,6 +229,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']