diff options
author | Dan Prince <dprince@redhat.com> | 2015-05-14 14:58:10 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2015-06-03 21:42:34 -0400 |
commit | 90f15e38f1e4d80b81f4fa1444dde717917ef8ad (patch) | |
tree | d3eb59c7291e3efff2b98182d456ec55719ca2e4 | |
parent | 6f2f62b73b165f1fc431cff0656d70adfe97e4a0 (diff) |
ifcfg: don't set VLAN=yes if is an ovs_port
When using the ifcfg provider vlans on bridges (or bonds)
fail to startup correctly. This is because VLANs on an OVS
bridge are configured as internal ports and these should not
have the VLAN=yes or PHYSDEV ifcfg settings specified.
Change-Id: Ieb743eda8f0a25cdaca43bdea767af26bf504f15
Closes-bug: #1453904
-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" |