diff options
-rw-r--r-- | os_net_config/impl_ifcfg.py | 8 | ||||
-rw-r--r-- | os_net_config/tests/test_impl_ifcfg.py | 11 |
2 files changed, 14 insertions, 5 deletions
diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py index 097552a..33fcb57 100644 --- a/os_net_config/impl_ifcfg.py +++ b/os_net_config/impl_ifcfg.py @@ -74,9 +74,11 @@ class IfcfgNetConfig(os_net_config.NetConfig): data += "HOTPLUG=no\n" data += "NM_CONTROLLED=no\n" if isinstance(base_opt, objects.Vlan): - data += "VLAN=yes\n" - if base_opt.device: - data += "PHYSDEV=%s\n" % base_opt.device + if not base_opt.ovs_port: + # vlans on OVS bridges are internal ports (no device, etc) + data += "VLAN=yes\n" + if base_opt.device: + data += "PHYSDEV=%s\n" % base_opt.device if base_opt.ovs_port: data += "DEVICETYPE=ovs\n" if base_opt.bridge_name: diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index f43faed..4aa9f09 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -91,14 +91,21 @@ VLAN=yes PHYSDEV=em1 """ +# vlans on an OVS bridge do not set VLAN=yes or PHYSDEV +_BASE_VLAN_OVS = """# This file is autogenerated by os-net-config +DEVICE=vlan5 +ONBOOT=yes +HOTPLUG=no +NM_CONTROLLED=no +""" _VLAN_NO_IP = _BASE_VLAN + "BOOTPROTO=none\n" -_VLAN_OVS = _BASE_VLAN + "DEVICETYPE=ovs\nBOOTPROTO=none\n" +_VLAN_OVS = _BASE_VLAN_OVS + "DEVICETYPE=ovs\nBOOTPROTO=none\n" -_VLAN_OVS_BRIDGE = _BASE_VLAN + """DEVICETYPE=ovs +_VLAN_OVS_BRIDGE = _BASE_VLAN_OVS + """DEVICETYPE=ovs TYPE=OVSIntPort OVS_BRIDGE=br-ctlplane OVS_OPTIONS="tag=5" |