aboutsummaryrefslogtreecommitdiffstats
path: root/os_net_config
diff options
context:
space:
mode:
Diffstat (limited to 'os_net_config')
-rw-r--r--os_net_config/impl_ifcfg.py8
-rw-r--r--os_net_config/tests/test_impl_ifcfg.py11
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"