diff options
author | Dan Sneddon <dsneddon@redhat.com> | 2015-09-02 17:07:48 -0700 |
---|---|---|
committer | Dan Sneddon <dsneddon@redhat.com> | 2015-10-12 11:03:25 -0700 |
commit | d01acefc15cebcfc5b7d808d3ed4f41cbaf8d74d (patch) | |
tree | 36611573e6a153f6562d9b28a706d22915547bea /os_net_config/tests/test_objects.py | |
parent | 62bc734ad540cde0cf47b863db686b328d575d33 (diff) |
Add Linux Bridge capability to os-net-config ifcfg
This patch adds support for Linux Bridges to os-net-config. This is
done completely with ifcfg files, brctl is not used directly.
Hierarchy is preserved, so a Linux Bridge may have a Linux Bond
as a member, which in turn may have multiple interfaces as members.
This changeset has been updated to include a more specific example
for Linux bridge configuration (that doesn't combine bridging and
bonding).
This change depends on the change to add support for Linux Bonds.
Change-Id: I1ddacd514b02af30139a868071d82cde19b1f946
Diffstat (limited to 'os_net_config/tests/test_objects.py')
-rw-r--r-- | os_net_config/tests/test_objects.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/os_net_config/tests/test_objects.py b/os_net_config/tests/test_objects.py index 3d95bd6..a2e021b 100644 --- a/os_net_config/tests/test_objects.py +++ b/os_net_config/tests/test_objects.py @@ -267,6 +267,82 @@ class TestBridge(base.TestCase): self.assertEqual("br-foo", interface2.bridge_name) +class TestLinuxBridge(base.TestCase): + + def test_from_json_dhcp(self): + data = """{ +"type": "linux_bridge", +"name": "br-foo", +"use_dhcp": true, +"members": [{ + "type": "interface", + "name": "em1" +}] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("br-foo", bridge.name) + self.assertEqual(True, bridge.use_dhcp) + interface1 = bridge.members[0] + self.assertEqual("em1", interface1.name) + self.assertEqual(False, interface1.ovs_port) + self.assertEqual("br-foo", interface1.linux_bridge_name) + + def test_from_json_dhcp_with_nic1(self): + def dummy_numbered_nics(nic_mapping=None): + return {"nic1": "em5"} + self.stubs.Set(objects, '_numbered_nics', dummy_numbered_nics) + + data = """{ +"type": "linux_bridge", +"name": "br-foo", +"use_dhcp": true, +"members": [{ + "type": "interface", + "name": "nic1" +}] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("br-foo", bridge.name) + self.assertEqual(True, bridge.use_dhcp) + interface1 = bridge.members[0] + self.assertEqual("em5", interface1.name) + self.assertEqual(False, interface1.ovs_port) + self.assertEqual("br-foo", interface1.linux_bridge_name) + + def test_from_json_primary_interface(self): + data = """{ +"type": "linux_bridge", +"name": "br-foo", +"use_dhcp": true, +"members": [ + { + "type": "interface", + "name": "em1", + "primary": "true" + }, + { + "type": "interface", + "name": "em2" + }] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("br-foo", bridge.name) + self.assertEqual(True, bridge.use_dhcp) + self.assertEqual("em1", bridge.primary_interface_name) + interface1 = bridge.members[0] + self.assertEqual("em1", interface1.name) + self.assertEqual(False, interface1.ovs_port) + self.assertEqual(True, interface1.primary) + self.assertEqual("br-foo", interface1.linux_bridge_name) + interface2 = bridge.members[1] + self.assertEqual("em2", interface2.name) + self.assertEqual(False, interface2.ovs_port) + self.assertEqual("br-foo", interface2.linux_bridge_name) + + class TestBond(base.TestCase): def test_from_json_dhcp(self): |