aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/tests/test_impl_ifcfg.py
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2014-08-12 11:06:46 -0400
committerDan Prince <dprince@redhat.com>2014-08-12 11:51:31 -0400
commitf0ae3282450c2bb1bb35f22414858768f08d2653 (patch)
treeedcf2d322f4b222bd0b11034ce4e09689caf10ef /os_net_config/tests/test_impl_ifcfg.py
parentf57b67880d5c70bbc287ab56395895bb88a1b011 (diff)
Set the MAC to the primary interface
Adds support for a new 'primary' interface option exposed via the object model and JSON parsers which can be used to force the MAC address on a bridge. Only one interface on a given bridge (or bond) may be set as the primary interface. Also, update the ifcfg and eni providers so that they use OVS_EXTRA (or ovs_extra) to pin the mac accordingly.
Diffstat (limited to 'os_net_config/tests/test_impl_ifcfg.py')
-rw-r--r--os_net_config/tests/test_impl_ifcfg.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py
index 629f1cf..2157cd0 100644
--- a/os_net_config/tests/test_impl_ifcfg.py
+++ b/os_net_config/tests/test_impl_ifcfg.py
@@ -65,6 +65,9 @@ OVSBOOTPROTO=dhcp
OVSDHCPINTERFACES="em1"
"""
+_OVS_BRIDGE_DHCP_PRIMARY_INTERFACE = _OVS_BRIDGE_DHCP + \
+ "OVS_EXTRA=\"set bridge br-ctlplane other-config:hwaddr=a1:b2:c3:d4:e5\"\n"
+
_BASE_VLAN = """DEVICE=vlan5
ONBOOT=yes
HOTPLUG=no
@@ -157,6 +160,20 @@ class TestIfcfgNetConfig(base.TestCase):
self.assertEqual(_OVS_BRIDGE_DHCP,
self.provider.bridges['br-ctlplane'])
+ def test_network_ovs_bridge_with_dhcp_primary_interface(self):
+ def test_interface_mac(name):
+ return "a1:b2:c3:d4:e5"
+ self.stubs.Set(utils, 'interface_mac', test_interface_mac)
+
+ interface = objects.Interface('em1', primary=True)
+ bridge = objects.OvsBridge('br-ctlplane', use_dhcp=True,
+ members=[interface])
+ self.provider.addInterface(interface)
+ self.provider.addBridge(bridge)
+ self.assertEqual(_OVS_INTERFACE, self.get_interface_config())
+ self.assertEqual(_OVS_BRIDGE_DHCP_PRIMARY_INTERFACE,
+ self.provider.bridges['br-ctlplane'])
+
def test_add_vlan(self):
vlan = objects.Vlan('em1', 5)
self.provider.addVlan(vlan)