From 4f0a387f35999552bfb10e96e3114bb117db586e Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 2 Feb 2012 10:59:43 -0800 Subject: [PATCH] Provides flag override for vlan interface This means you can have your vlan_interface be different on different hosts machines by setting vlan_interface differently on each host. * Allow non-homogenous vlan networks * Fixes bug 833426 * Includes failing test for linux_net Change-Id: I2f0d43c1366f88a8832a779c4065b37dd1a5bdf8 --- nova/tests/test_linux_net.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/nova/tests/test_linux_net.py b/nova/tests/test_linux_net.py index 21c5284a..f81bb0cb 100644 --- a/nova/tests/test_linux_net.py +++ b/nova/tests/test_linux_net.py @@ -432,6 +432,31 @@ class LinuxNetworkTestCase(test.TestCase): driver.plug({"bridge": "br100", "bridge_interface": "eth0"}, "fakemac") + def test_vlan_override(self): + """Makes sure vlan_interface flag overrides network bridge_interface. + + Allows heterogeneous networks a la bug 833426""" + + driver = linux_net.LinuxBridgeInterfaceDriver() + + @classmethod + def test_ensure(_self, vlan, bridge, interface, network, mac_address): + self.passed_interface = interface + + self.stubs.Set(linux_net.LinuxBridgeInterfaceDriver, + 'ensure_vlan_bridge', test_ensure) + + network = { + "bridge": "br100", + "bridge_interface": "base_interface", + "vlan": "fake" + } + driver.plug(network, "fakemac") + self.assertEqual(self.passed_interface, "base_interface") + self.flags(vlan_interface="override_interface") + driver.plug(network, "fakemac") + self.assertEqual(self.passed_interface, "override_interface") + def _test_initialize_gateway(self, existing, expected, routes=''): self.flags(fake_network=False) executes = []