From 8a7d21fa739901bad847294004266dba76c027af Mon Sep 17 00:00:00 2001 From: Eduardo Otubo Date: Tue, 1 Dec 2020 15:51:47 +0100 Subject: [PATCH 2/4] Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) RH-Author: Eduardo Terrell Ferrari Otubo (eterrell) RH-MergeRequest: 25: Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) RH-Commit: [1/1] b7304323096b1e40287950e44cf7aa3cdb4ba99e (eterrell/cloud-init) RH-Bugzilla: 1859695 BOOTPROTO needs to be set to 'dhcp' on RHEL so NetworkManager can properly acquire ipv6 address. rhbz: #1859695 Signed-off-by: Eduardo Otubo Co-authored-by: Daniel Watkins Co-authored-by: Scott Moser --- cloudinit/net/sysconfig.py | 6 ++++++ tests/unittests/test_net.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py index 078636a4..94801a93 100644 --- a/cloudinit/net/sysconfig.py +++ b/cloudinit/net/sysconfig.py @@ -391,6 +391,12 @@ class Renderer(renderer.Renderer): # Only IPv6 is DHCP, IPv4 may be static iface_cfg['BOOTPROTO'] = 'dhcp6' iface_cfg['DHCLIENT6_MODE'] = 'managed' + # only if rhel AND dhcpv6 stateful + elif (flavor == 'rhel' and + subnet_type == 'ipv6_dhcpv6-stateful'): + iface_cfg['BOOTPROTO'] = 'dhcp' + iface_cfg['DHCPV6C'] = True + iface_cfg['IPV6INIT'] = True else: iface_cfg['IPV6INIT'] = True # Configure network settings using DHCPv6 diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py index c0337459..bcd261db 100644 --- a/tests/unittests/test_net.py +++ b/tests/unittests/test_net.py @@ -1359,7 +1359,7 @@ NETWORK_CONFIGS = { }, 'expected_sysconfig_rhel': { 'ifcfg-iface0': textwrap.dedent("""\ - BOOTPROTO=none + BOOTPROTO=dhcp DEVICE=iface0 DHCPV6C=yes IPV6INIT=yes -- 2.18.4