diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py index 8bd7e88..810b283 100644 --- a/cloudinit/net/sysconfig.py +++ b/cloudinit/net/sysconfig.py @@ -754,7 +754,16 @@ 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'] + 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') diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py index 1306a0f..a931a3e 100644 --- a/tests/unittests/test_net.py +++ b/tests/unittests/test_net.py @@ -1483,7 +1483,6 @@ pre-down route del -net 10.0.0.0/8 gw 11.0.0.1 metric 3 || true BOOTPROTO=none DEVICE=bond0 DHCPV6C=yes - IPV6_AUTOCONF=no IPV6INIT=yes MACADDR=aa:bb:cc:dd:ee:ff ONBOOT=yes