diff options
author | 2015-11-20 15:56:37 -0500 | |
---|---|---|
committer | 2015-11-20 16:00:57 -0500 | |
commit | f00d545041b75b5d3e215bf435689e933dbb4f62 (patch) | |
tree | 6142e55ed25e50da4c597684d197f1ee34d6700f /os_net_config | |
parent | f0c42a7cda2997c4ce81096ffc778f565e1c9d1d (diff) |
ifcfg: add VLAN=yes when needed
Add the VLAN=yes parameter if the interface name is in the foo.123 format.
This is the behavior and Debian allow the same os-net-config configuration
file to be consistent with Red Hat systems.
See also: https://bugzilla.redhat.com/show_bug.cgi?id=1283812
Change-Id: Iab2a4861e2231b34899c379963abbef59cf73328
Closes-Bug: #1518449
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 | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py index 0deb61e..70f5065 100644 --- a/os_net_config/impl_ifcfg.py +++ b/os_net_config/impl_ifcfg.py @@ -16,6 +16,7 @@ import glob import logging +import re import os_net_config from os_net_config import objects @@ -83,6 +84,8 @@ class IfcfgNetConfig(os_net_config.NetConfig): data += "VLAN=yes\n" if base_opt.device: data += "PHYSDEV=%s\n" % base_opt.device + elif re.match('\w+\.\d+$', base_opt.name): + data += "VLAN=yes\n" 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 db61795..c914ea2 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -39,6 +39,15 @@ IPADDR=192.168.1.2 NETMASK=255.255.255.0 """ +_IFCFG_VLAN = """# This file is autogenerated by os-net-config +DEVICE=em1.120 +ONBOOT=yes +HOTPLUG=no +NM_CONTROLLED=no +VLAN=yes +BOOTPROTO=none +""" + _V4_IFCFG_MAPPED = _V4_IFCFG.replace('em1', 'nic1') + "HWADDR=a1:b2:c3:d4:e5\n" _V4_IFCFG_MULTIPLE = _V4_IFCFG + """IPADDR1=192.168.1.3 @@ -199,6 +208,11 @@ class TestIfcfgNetConfig(base.TestCase): self.provider.add_interface(interface) self.assertEqual(_NO_IP, self.get_interface_config()) + def test_add_base_interface_vlan(self): + interface = objects.Interface('em1.120') + self.provider.add_interface(interface) + self.assertEqual(_IFCFG_VLAN, self.get_interface_config('em1.120')) + def test_add_ovs_interface(self): interface = objects.Interface('em1') interface.ovs_port = True |