aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config/tests/test_objects.py
diff options
context:
space:
mode:
authorBrent Eagles <beagles@redhat.com>2016-11-09 17:19:14 -0330
committerBrent Eagles <beagles@redhat.com>2016-11-15 10:25:33 -0330
commit38a4ffbfe045b2658abaf9459b5c8ade1f3e5429 (patch)
treed002165eb1bdca02f84e44f07799211d23526e13 /os_net_config/tests/test_objects.py
parent3199064d4d5ce5a81fb38c831c11ab539ed8716a (diff)
Add support for name replacement in OVS_EXTRA
While primarily to work around a heat issue that prevents intrinsic functions from being used for parameters being passed to NetworkConfig resources, this could be generally useful in other ways. Partial-Bug: #1640812 Change-Id: Ie9001f1d41f514666a44c8d9295b78a13e2108dc
Diffstat (limited to 'os_net_config/tests/test_objects.py')
-rw-r--r--os_net_config/tests/test_objects.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/os_net_config/tests/test_objects.py b/os_net_config/tests/test_objects.py
index 3911ef3..870a3e4 100644
--- a/os_net_config/tests/test_objects.py
+++ b/os_net_config/tests/test_objects.py
@@ -646,6 +646,42 @@ class TestOvsTunnel(base.TestCase):
["ovs extra"],
tun0.ovs_extra)
+ def test_ovs_extra_formatting(self):
+ data = """{
+"type": "ovs_bridge",
+"name": "br-foo",
+"ovs_extra": [
+ "set {name} fail_mode=standalone"
+],
+"members": [{
+ "type": "ovs_tunnel",
+ "name": "tun0",
+ "tunnel_type": "gre",
+ "ovs_options": [
+ "remote_ip=192.168.1.1"
+ ],
+ "ovs_extra": [
+ "ovs extra",
+ "ovs {name} extra"
+ ]
+}]
+}
+"""
+ bridge = objects.object_from_json(json.loads(data))
+ self.assertEqual("br-foo", bridge.name)
+ self.assertEqual(["set br-foo fail_mode=standalone"], bridge.ovs_extra)
+ tun0 = bridge.members[0]
+ self.assertEqual("tun0", tun0.name)
+ self.assertFalse(tun0.ovs_port)
+ self.assertEqual("br-foo", tun0.bridge_name)
+ self.assertEqual("gre", tun0.tunnel_type)
+ self.assertEqual(
+ ["options:remote_ip=192.168.1.1"],
+ tun0.ovs_options)
+ self.assertEqual(
+ ["ovs extra", "ovs tun0 extra"],
+ tun0.ovs_extra)
+
class TestOvsPatchPort(base.TestCase):
@@ -662,6 +698,24 @@ class TestOvsPatchPort(base.TestCase):
self.assertEqual("br-ex", patch_port.bridge_name)
self.assertEqual("br-ex-patch", patch_port.peer)
+ def test_from_json_with_extra(self):
+ data = """{
+"type": "ovs_patch_port",
+"name": "br-pub-patch",
+"bridge_name": "br-ex",
+"peer": "br-ex-patch",
+"ovs_extra": [
+ "ovs {name} extra"
+]
+}
+"""
+ patch_port = objects.object_from_json(json.loads(data))
+ self.assertEqual(["ovs br-pub-patch extra"],
+ patch_port.ovs_extra)
+ self.assertEqual("br-pub-patch", patch_port.name)
+ self.assertEqual("br-ex", patch_port.bridge_name)
+ self.assertEqual("br-ex-patch", patch_port.peer)
+
class TestIbInterface(base.TestCase):