diff options
author | Sarath Kumar <sarath.kutty@bigswitch.com> | 2016-07-21 11:14:39 -0700 |
---|---|---|
committer | Sarath Kumar <sarath.kutty@bigswitch.com> | 2016-08-02 11:45:46 -0700 |
commit | 15974244f6212905540e1daf9ca596c83f510bdd (patch) | |
tree | 26bcd9086d93e4501e9387a126725a847ce3f9bb /os_net_config/tests/test_objects.py | |
parent | 311df0c3828fe7571079fad9763bca9e2414b51a (diff) |
Enable os-net-config to support and configure NFVSwitch
These changes are to generate /etc/sysconf/network-scripts/ifcfg-* and
/etc/sysconfig/nfvswitch configuration files for nfvswitch and its interfaces.
NFVSwitch is a virtual switch implementation based on DPDK for datacenter
workloads with very high throughput needs.
Change-Id: If02edb9c4c54c014f67290fe0c34e2fc73cb95bd
Diffstat (limited to 'os_net_config/tests/test_objects.py')
-rw-r--r-- | os_net_config/tests/test_objects.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/os_net_config/tests/test_objects.py b/os_net_config/tests/test_objects.py index 17b6927..bbff1f3 100644 --- a/os_net_config/tests/test_objects.py +++ b/os_net_config/tests/test_objects.py @@ -398,6 +398,87 @@ class TestIvsBridge(base.TestCase): self.assertIn(expected, err) +class TestNfvswitchBridge(base.TestCase): + + def test_from_json(self): + data = """{ +"type": "nfvswitch_bridge", +"cpus": "2,3,4,5", +"members": [ + {"type": "interface", "name": "nic2"} + ] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("nfvswitch", bridge.name) + self.assertEqual("2,3,4,5", bridge.cpus) + interface1 = bridge.members[0] + self.assertEqual("nic2", interface1.name) + self.assertEqual(False, interface1.ovs_port) + self.assertEqual("nfvswitch", interface1.nfvswitch_bridge_name) + + +class TestNfvswitchInterface(base.TestCase): + + def test_interface_from_json(self): + data = """{ +"type": "nfvswitch_bridge", +"cpus": "2,3,4,5", +"members": [ + {"type": "interface","name": "nic1"}, + {"type": "interface","name": "nic2"} + ] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("nfvswitch", bridge.name) + self.assertEqual("2,3,4,5", bridge.cpus) + interface1 = bridge.members[0] + self.assertEqual("nic1", interface1.name) + interface2 = bridge.members[1] + self.assertEqual("nic2", interface2.name) + self.assertEqual(False, interface2.ovs_port) + self.assertEqual("nfvswitch", interface1.nfvswitch_bridge_name) + + def test_nfvswitch_internal_from_json(self): + data = """{ +"type": "nfvswitch_bridge", +"cpus": "2,3,4,5", +"members": [ + {"type": "nfvswitch_internal", "name": "storage", "vlan_id": 202}, + {"type": "nfvswitch_internal", "name": "api", "vlan_id": 201} + ] +} +""" + bridge = objects.object_from_json(json.loads(data)) + self.assertEqual("nfvswitch", bridge.name) + self.assertEqual("2,3,4,5", bridge.cpus) + interface1 = bridge.members[0] + self.assertEqual("storage202", interface1.name) + interface2 = bridge.members[1] + self.assertEqual("api201", interface2.name) + self.assertEqual(False, interface1.ovs_port) + self.assertEqual("nfvswitch", interface1.nfvswitch_bridge_name) + + def test_bond_interface_from_json(self): + data = """{ +"type": "nfvswitch_bridge", +"cpus": "2,3,4,5", +"members": [{ + "type": "linux_bond", "name": "bond1", "members": + [{"type": "interface", "name": "nic2"}, + {"type": "interface", "name": "nic3"}] + } + ] +} +""" + err = self.assertRaises(objects.InvalidConfigException, + objects.NfvswitchBridge.from_json, + json.loads(data)) + expected = 'NFVSwitch does not support bond interfaces.' + self.assertIn(expected, err) + + class TestBond(base.TestCase): def test_from_json_dhcp(self): |