From 789bd1ea089314b49db02ddd517809a82c380cf1 Mon Sep 17 00:00:00 2001 From: James Slagle Date: Tue, 14 Jun 2016 11:40:55 -0400 Subject: Add support for OVS patch ports OVS patch ports are used to connect two OVS bridges so traffic can flow between them. This is generally useful for various cases. Specifically it could be used to connect the bridges created by TripleO networking configurations (br-ex, etc) to the bridge created by the multinode networking setup in infra's nodepool (br_pub). This allows the nodes in a multinode deployment to have connectivity across private subnets where such traffic is typically firewalled off in public clouds. Change-Id: I11404106cb3f53734f6fc9a35c22f905a0770245 --- os_net_config/tests/test_impl_ifcfg.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'os_net_config/tests/test_impl_ifcfg.py') diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index f4701a0..71ad9ae 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -258,6 +258,18 @@ NETMASK=255.255.255.0 _IVS_CONFIG = ('DAEMON_ARGS=\"--hitless --certificate /etc/ivs ' '--inband-vlan 4092 -u em1 --internal-port=storage5\"') +_OVS_IFCFG_PATCH_PORT = """# This file is autogenerated by os-net-config +DEVICE=br-pub-patch +ONBOOT=yes +HOTPLUG=no +NM_CONTROLLED=no +PEERDNS=no +DEVICETYPE=ovs +TYPE=OVSPatchPort +OVS_BRIDGE=br-ex +OVS_PATCH_PEER=br-ex-patch +""" + class TestIfcfgNetConfig(base.TestCase): @@ -309,6 +321,15 @@ class TestIfcfgNetConfig(base.TestCase): self.provider.add_interface(interface) self.assertEqual(_OVS_IFCFG_TUNNEL, self.get_interface_config('tun0')) + def test_add_ovs_patch_port(self): + patch_port = objects.OvsPatchPort("br-pub-patch") + patch_port.type = 'ovs_patch_port' + patch_port.bridge_name = 'br-ex' + patch_port.peer = 'br-ex-patch' + self.provider.add_interface(patch_port) + self.assertEqual(_OVS_IFCFG_PATCH_PORT, + self.get_interface_config('br-pub-patch')) + def test_add_interface_with_v4(self): v4_addr = objects.Address('192.168.1.2/24') interface = objects.Interface('em1', addresses=[v4_addr]) -- cgit 1.2.3-korg