From 5514d5922cbc92278868bfea587c4207619d81fc Mon Sep 17 00:00:00 2001
From: Eduardo Otubo <otubo@redhat.com>
Date: Thu, 3 Dec 2020 12:34:01 +0100
Subject: [PATCH 3/3] Don't override default network configuration

Signed-off-by: Eduardo Otubo <otubo@redhat.com>
---
 cloudinit/net/sysconfig.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
index d934f66..8a60c95 100644
--- a/cloudinit/net/sysconfig.py
+++ b/cloudinit/net/sysconfig.py
@@ -1025,7 +1025,17 @@ class Renderer(renderer.Renderer):
         # Distros configuring /etc/sysconfig/network as a file e.g. Centos
         if sysconfig_path.endswith("network"):
             util.ensure_dir(os.path.dirname(sysconfig_path))
-            netcfg = [_make_header(), "NETWORKING=yes"]
+            # Make sure that existing lines, other than overriding ones, remain
+            netcfg = []
+            for line in util.load_file(sysconfig_path, quiet=True).split('\n'):
+                if 'cloud-init' in line:
+                    break
+                if not line.startswith(('NETWORKING=',
+                                        'IPV6_AUTOCONF=',
+                                        'NETWORKING_IPV6=')):
+                    netcfg.append(line)
+                # Now generate the cloud-init portion of sysconfig/network
+                netcfg.extend([_make_header(), 'NETWORKING=yes'])
             if network_state.use_ipv6:
                 netcfg.append("NETWORKING_IPV6=yes")
                 netcfg.append("IPV6_AUTOCONF=no")
-- 
2.27.0

