diff options
Diffstat (limited to 'os_net_config')
-rw-r--r-- | os_net_config/impl_ifcfg.py | 3 | ||||
-rw-r--r-- | os_net_config/tests/test_impl_ifcfg.py | 23 |
2 files changed, 25 insertions, 1 deletions
diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py index 097552a..2411951 100644 --- a/os_net_config/impl_ifcfg.py +++ b/os_net_config/impl_ifcfg.py @@ -95,7 +95,8 @@ class IfcfgNetConfig(os_net_config.NetConfig): if base_opt.members: members = [member.name for member in base_opt.members] self.member_names[base_opt.name] = members - data += ("OVSDHCPINTERFACES=\"%s\"\n" % " ".join(members)) + if base_opt.use_dhcp: + data += ("OVSDHCPINTERFACES=\"%s\"\n" % " ".join(members)) if base_opt.primary_interface_name: mac = utils.interface_mac(base_opt.primary_interface_name) ovs_extra.append("set bridge %s other-config:hwaddr=%s" % diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index f43faed..754fbcd 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -73,6 +73,18 @@ OVSBOOTPROTO=dhcp OVSDHCPINTERFACES="em1" """ +_OVS_BRIDGE_STATIC = """# This file is autogenerated by os-net-config +DEVICE=br-ctlplane +ONBOOT=yes +HOTPLUG=no +NM_CONTROLLED=no +DEVICETYPE=ovs +TYPE=OVSBridge +BOOTPROTO=static +IPADDR=192.168.1.2 +NETMASK=255.255.255.0 +""" + _OVS_BRIDGE_DHCP_PRIMARY_INTERFACE = _OVS_BRIDGE_DHCP + \ "OVS_EXTRA=\"set bridge br-ctlplane other-config:hwaddr=a1:b2:c3:d4:e5\"\n" @@ -195,6 +207,17 @@ class TestIfcfgNetConfig(base.TestCase): self.assertEqual(_OVS_BRIDGE_DHCP, self.provider.bridge_data['br-ctlplane']) + def test_network_ovs_bridge_static(self): + v4_addr = objects.Address('192.168.1.2/24') + interface = objects.Interface('em1') + bridge = objects.OvsBridge('br-ctlplane', members=[interface], + addresses=[v4_addr]) + self.provider.add_interface(interface) + self.provider.add_bridge(bridge) + self.assertEqual(_OVS_INTERFACE, self.get_interface_config()) + self.assertEqual(_OVS_BRIDGE_STATIC, + self.provider.bridge_data['br-ctlplane']) + def test_network_ovs_bridge_with_dhcp_primary_interface(self): def test_interface_mac(name): return "a1:b2:c3:d4:e5" |