d9e4dd
From 3f895d7236fab4f12482435829b530022a2205ec Mon Sep 17 00:00:00 2001
d9e4dd
From: Eduardo Otubo <otubo@redhat.com>
d9e4dd
Date: Fri, 7 May 2021 13:36:06 +0200
d9e4dd
Subject: Do not write NM_CONTROLLED=no in generated interface config  files
d9e4dd
d9e4dd
Conflicts 20.3:
d9e4dd
 - Not appplying patch on cloudinit/net/sysconfig.py since it now has a
d9e4dd
mechanism to identify if cloud-init is running on RHEL, having the
d9e4dd
correct settings for NM_CONTROLLED.
d9e4dd
d9e4dd
Merged patches (21.1):
d9e4dd
- ecbace48 sysconfig: Don't write BOOTPROTO=dhcp for ipv6 dhcp
d9e4dd
- a1a00383 include 'NOZEROCONF=yes' in /etc/sysconfig/network
d9e4dd
X-downstream-only: true
d9e4dd
Signed-off-by: Eduardo Otubo <otubo@redhat.com>
d9e4dd
Signed-off-by: Ryan McCabe <rmccabe@redhat.com>
d9e4dd
---
d9e4dd
 cloudinit/net/sysconfig.py  | 13 +++++++++++--
d9e4dd
 tests/unittests/test_net.py | 28 ----------------------------
d9e4dd
 2 files changed, 11 insertions(+), 30 deletions(-)
d9e4dd
d9e4dd
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
d9e4dd
index 99a4bae4..d5440998 100644
d9e4dd
--- a/cloudinit/net/sysconfig.py
d9e4dd
+++ b/cloudinit/net/sysconfig.py
d9e4dd
@@ -289,7 +289,7 @@ class Renderer(renderer.Renderer):
d9e4dd
     #                                         details about this)
d9e4dd
 
d9e4dd
     iface_defaults = {
d9e4dd
-        'rhel': {'ONBOOT': True, 'USERCTL': False, 'NM_CONTROLLED': False,
d9e4dd
+        'rhel': {'ONBOOT': True, 'USERCTL': False,
d9e4dd
                  'BOOTPROTO': 'none'},
d9e4dd
         'suse': {'BOOTPROTO': 'static', 'STARTMODE': 'auto'},
d9e4dd
     }
d9e4dd
@@ -925,7 +925,16 @@ class Renderer(renderer.Renderer):
d9e4dd
         # Distros configuring /etc/sysconfig/network as a file e.g. Centos
d9e4dd
         if sysconfig_path.endswith('network'):
d9e4dd
             util.ensure_dir(os.path.dirname(sysconfig_path))
d9e4dd
-            netcfg = [_make_header(), 'NETWORKING=yes']
d9e4dd
+            netcfg = []
d9e4dd
+            for line in util.load_file(sysconfig_path, quiet=True).split('\n'):
d9e4dd
+                if 'cloud-init' in line:
d9e4dd
+                    break
d9e4dd
+                if not line.startswith(('NETWORKING=',
d9e4dd
+                                        'IPV6_AUTOCONF=',
d9e4dd
+                                        'NETWORKING_IPV6=')):
d9e4dd
+                    netcfg.append(line)
d9e4dd
+            # Now generate the cloud-init portion of sysconfig/network
d9e4dd
+            netcfg.extend([_make_header(), 'NETWORKING=yes'])
d9e4dd
             if network_state.use_ipv6:
d9e4dd
                 netcfg.append('NETWORKING_IPV6=yes')
d9e4dd
                 netcfg.append('IPV6_AUTOCONF=no')
d9e4dd
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
d9e4dd
index 38d934d4..c67b5fcc 100644
d9e4dd
--- a/tests/unittests/test_net.py
d9e4dd
+++ b/tests/unittests/test_net.py
d9e4dd
@@ -535,7 +535,6 @@ GATEWAY=172.19.3.254
d9e4dd
 HWADDR=fa:16:3e:ed:9a:59
d9e4dd
 IPADDR=172.19.1.34
d9e4dd
 NETMASK=255.255.252.0
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
@@ -633,7 +632,6 @@ IPADDR=172.19.1.34
d9e4dd
 IPADDR1=10.0.0.10
d9e4dd
 NETMASK=255.255.252.0
d9e4dd
 NETMASK1=255.255.255.0
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
@@ -756,7 +754,6 @@ IPV6_AUTOCONF=no
d9e4dd
 IPV6_DEFAULTGW=2001:DB8::1
d9e4dd
 IPV6_FORCE_ACCEPT_RA=no
d9e4dd
 NETMASK=255.255.252.0
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
@@ -884,7 +881,6 @@ NETWORK_CONFIGS = {
d9e4dd
                 BOOTPROTO=none
d9e4dd
                 DEVICE=eth1
d9e4dd
                 HWADDR=cf:d6:af:48:e8:80
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -901,7 +897,6 @@ NETWORK_CONFIGS = {
d9e4dd
                 IPADDR=192.168.21.3
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
                 METRIC=10000
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -1032,7 +1027,6 @@ NETWORK_CONFIGS = {
d9e4dd
                 IPV6_AUTOCONF=no
d9e4dd
                 IPV6_FORCE_ACCEPT_RA=no
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no
d9e4dd
@@ -1737,7 +1731,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 DHCPV6C=yes
d9e4dd
                 IPV6INIT=yes
d9e4dd
                 MACADDR=aa:bb:cc:dd:ee:ff
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Bond
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -1745,7 +1738,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 BOOTPROTO=dhcp
d9e4dd
                 DEVICE=bond0.200
d9e4dd
                 DHCLIENT_SET_DEFAULT_ROUTE=no
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 PHYSDEV=bond0
d9e4dd
                 USERCTL=no
d9e4dd
@@ -1763,7 +1755,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 IPV6_DEFAULTGW=2001:4800:78ff:1b::1
d9e4dd
                 MACADDR=bb:bb:bb:bb:bb:aa
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 PRIO=22
d9e4dd
                 STP=no
d9e4dd
@@ -1773,7 +1764,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 BOOTPROTO=none
d9e4dd
                 DEVICE=eth0
d9e4dd
                 HWADDR=c0:d6:9f:2c:e8:80
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -1790,7 +1780,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 MTU=1500
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
                 NETMASK1=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 PHYSDEV=eth0
d9e4dd
                 USERCTL=no
d9e4dd
@@ -1800,7 +1789,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 DEVICE=eth1
d9e4dd
                 HWADDR=aa:d6:9f:2c:e8:80
d9e4dd
                 MASTER=bond0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 SLAVE=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
@@ -1810,7 +1798,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 DEVICE=eth2
d9e4dd
                 HWADDR=c0:bb:9f:2c:e8:80
d9e4dd
                 MASTER=bond0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 SLAVE=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
@@ -1820,7 +1807,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 BRIDGE=br0
d9e4dd
                 DEVICE=eth3
d9e4dd
                 HWADDR=66:bb:9f:2c:e8:80
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -1829,7 +1815,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 BRIDGE=br0
d9e4dd
                 DEVICE=eth4
d9e4dd
                 HWADDR=98:bb:9f:2c:e8:80
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -1838,7 +1823,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true
d9e4dd
                 DEVICE=eth5
d9e4dd
                 DHCLIENT_SET_DEFAULT_ROUTE=no
d9e4dd
                 HWADDR=98:bb:9f:2c:e8:8a
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=no
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -2294,7 +2278,6 @@ iface bond0 inet6 static
d9e4dd
         MTU=9000
d9e4dd
         NETMASK=255.255.255.0
d9e4dd
         NETMASK1=255.255.255.0
d9e4dd
-        NM_CONTROLLED=no
d9e4dd
         ONBOOT=yes
d9e4dd
         TYPE=Bond
d9e4dd
         USERCTL=no
d9e4dd
@@ -2304,7 +2287,6 @@ iface bond0 inet6 static
d9e4dd
         DEVICE=bond0s0
d9e4dd
         HWADDR=aa:bb:cc:dd:e8:00
d9e4dd
         MASTER=bond0
d9e4dd
-        NM_CONTROLLED=no
d9e4dd
         ONBOOT=yes
d9e4dd
         SLAVE=yes
d9e4dd
         TYPE=Ethernet
d9e4dd
@@ -2326,7 +2308,6 @@ iface bond0 inet6 static
d9e4dd
         DEVICE=bond0s1
d9e4dd
         HWADDR=aa:bb:cc:dd:e8:01
d9e4dd
         MASTER=bond0
d9e4dd
-        NM_CONTROLLED=no
d9e4dd
         ONBOOT=yes
d9e4dd
         SLAVE=yes
d9e4dd
         TYPE=Ethernet
d9e4dd
@@ -2383,7 +2364,6 @@ iface bond0 inet6 static
d9e4dd
                 BOOTPROTO=none
d9e4dd
                 DEVICE=en0
d9e4dd
                 HWADDR=aa:bb:cc:dd:e8:00
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no"""),
d9e4dd
@@ -2402,7 +2382,6 @@ iface bond0 inet6 static
d9e4dd
                 MTU=2222
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
                 NETMASK1=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 PHYSDEV=en0
d9e4dd
                 USERCTL=no
d9e4dd
@@ -2467,7 +2446,6 @@ iface bond0 inet6 static
d9e4dd
                 DEVICE=br0
d9e4dd
                 IPADDR=192.168.2.2
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 PRIO=22
d9e4dd
                 STP=no
d9e4dd
@@ -2591,7 +2569,6 @@ iface bond0 inet6 static
d9e4dd
                 HWADDR=52:54:00:12:34:00
d9e4dd
                 IPADDR=192.168.1.2
d9e4dd
                 NETMASK=255.255.255.0
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=no
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no
d9e4dd
@@ -2601,7 +2578,6 @@ iface bond0 inet6 static
d9e4dd
                 DEVICE=eth1
d9e4dd
                 HWADDR=52:54:00:12:34:aa
d9e4dd
                 MTU=1480
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=yes
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no
d9e4dd
@@ -2610,7 +2586,6 @@ iface bond0 inet6 static
d9e4dd
                 BOOTPROTO=none
d9e4dd
                 DEVICE=eth2
d9e4dd
                 HWADDR=52:54:00:12:34:ff
d9e4dd
-                NM_CONTROLLED=no
d9e4dd
                 ONBOOT=no
d9e4dd
                 TYPE=Ethernet
d9e4dd
                 USERCTL=no
d9e4dd
@@ -3027,7 +3002,6 @@ class TestRhelSysConfigRendering(CiTestCase):
d9e4dd
 BOOTPROTO=dhcp
d9e4dd
 DEVICE=eth1000
d9e4dd
 HWADDR=07-1c-c6-75-a4-be
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
@@ -3148,7 +3122,6 @@ GATEWAY=10.0.2.2
d9e4dd
 HWADDR=52:54:00:12:34:00
d9e4dd
 IPADDR=10.0.2.15
d9e4dd
 NETMASK=255.255.255.0
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
@@ -3218,7 +3191,6 @@ USERCTL=no
d9e4dd
 #
d9e4dd
 BOOTPROTO=dhcp
d9e4dd
 DEVICE=eth0
d9e4dd
-NM_CONTROLLED=no
d9e4dd
 ONBOOT=yes
d9e4dd
 TYPE=Ethernet
d9e4dd
 USERCTL=no
d9e4dd
-- 
d9e4dd
2.27.0
d9e4dd