diff options
author | Brent Eagles <beagles@redhat.com> | 2016-11-09 17:19:14 -0330 |
---|---|---|
committer | Brent Eagles <beagles@redhat.com> | 2016-11-15 10:25:33 -0330 |
commit | 38a4ffbfe045b2658abaf9459b5c8ade1f3e5429 (patch) | |
tree | d002165eb1bdca02f84e44f07799211d23526e13 /os_net_config/tests/test_objects.py | |
parent | 3199064d4d5ce5a81fb38c831c11ab539ed8716a (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.py | 54 |
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): |