From 176ee273d927d896ab787ab9d7915703490e2873 Mon Sep 17 00:00:00 2001 From: Eduardo Otubo Date: Tue, 24 Nov 2020 09:53:23 +0100 Subject: [PATCH] Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL BOOTPROTO needs to be set to 'dhcp' on RHEL so NetworkManager can properly acquire ipv6 address. rhbz: #1859695 Signed-off-by: Eduardo Otubo --- 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 a930e6127c7..ba85584e183 100644 --- a/cloudinit/net/sysconfig.py +++ b/cloudinit/net/sysconfig.py @@ -396,6 +396,12 @@ def _render_subnets(cls, iface_cfg, subnets, has_default_route, flavor): # 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 70453683d0c..8b34e0c9724 100644 --- a/tests/unittests/test_net.py +++ b/tests/unittests/test_net.py @@ -1365,7 +1365,7 @@ }, 'expected_sysconfig_rhel': { 'ifcfg-iface0': textwrap.dedent("""\ - BOOTPROTO=none + BOOTPROTO=dhcp DEVICE=iface0 DHCPV6C=yes IPV6INIT=yes