From 2188cf1651648af1900b7bb070f9b1eb3f982c3b Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Wed, 6 Apr 2016 18:30:36 +0200 Subject: Use PEERDNS when no dns_servers or use_dhcp is provided PEERDNS=no ensures resolv.conf is not modified by ifup/ifdown when restarting an interface. Closes-bug: #1567004 Change-Id: Idec15d4c1630638ce8362f9d95ae3c09bcae86a3 --- os_net_config/impl_ifcfg.py | 2 ++ os_net_config/tests/test_impl_ifcfg.py | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py index 2172a08..f2a5dc0 100644 --- a/os_net_config/impl_ifcfg.py +++ b/os_net_config/impl_ifcfg.py @@ -88,6 +88,8 @@ class IfcfgNetConfig(os_net_config.NetConfig): data += "ONBOOT=yes\n" data += "HOTPLUG=no\n" data += "NM_CONTROLLED=no\n" + if not base_opt.dns_servers and not base_opt.use_dhcp: + data += "PEERDNS=no\n" if isinstance(base_opt, objects.Vlan): if not base_opt.ovs_port: # vlans on OVS bridges are internal ports (no device, etc) diff --git a/os_net_config/tests/test_impl_ifcfg.py b/os_net_config/tests/test_impl_ifcfg.py index 262d0a1..e81e049 100644 --- a/os_net_config/tests/test_impl_ifcfg.py +++ b/os_net_config/tests/test_impl_ifcfg.py @@ -30,6 +30,7 @@ DEVICE=em1 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no """ _NO_IP = _BASE_IFCFG + "BOOTPROTO=none\n" @@ -52,6 +53,7 @@ DEVICE=em1.120 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no VLAN=yes BOOTPROTO=none """ @@ -120,6 +122,7 @@ DEVICE=br-ctlplane ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static @@ -132,6 +135,7 @@ DEVICE=br-ctlplane ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no TYPE=Bridge DELAY=0 BOOTPROTO=static @@ -153,6 +157,7 @@ DEVICE=vlan5 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no VLAN=yes PHYSDEV=em1 """ @@ -163,6 +168,7 @@ DEVICE=vlan5 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no """ _VLAN_NO_IP = _BASE_VLAN + "BOOTPROTO=none\n" @@ -215,6 +221,7 @@ DEVICE=em1 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no DEVICETYPE=ivs IVS_BRIDGE=ivs BOOTPROTO=none @@ -225,6 +232,7 @@ DEVICE=storage5 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no TYPE=IVSIntPort DEVICETYPE=ivs IVS_BRIDGE=ivs @@ -486,6 +494,7 @@ DEVICE=em2 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no BOOTPROTO=none """ self.assertEqual(em2_config, self.get_interface_config('em2')) @@ -515,6 +524,7 @@ DEVICE=em1 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no BOOTPROTO=none """ em2_config = """# This file is autogenerated by os-net-config @@ -522,6 +532,7 @@ DEVICE=em2 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no BOOTPROTO=none DEFROUTE=no """ @@ -536,6 +547,7 @@ DEVICE=em1 ONBOOT=yes HOTPLUG=no NM_CONTROLLED=no +PEERDNS=no BOOTPROTO=none DHCLIENTARGS=--foobar """ -- cgit 1.2.3-korg