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
This commit is contained in:
Vishvananda Ishaya
2012-02-02 10:59:43 -08:00
parent c579103d2f
commit 4f0a387f35

View File

@@ -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 = []