I validated this with cloud init provided by RHEL8.2 [cloud-init-19.4-1.el8.7.noarch] and I don't see NM_CONTROLLED in the code under cloudinit/net/sysconfig.py
iface_defaults = tuple([ ('ONBOOT', True), ('USERCTL', False), ('BOOTPROTO', 'none'), ('STARTMODE', 'auto'), ])
Due to which the NM_CONTROLLED value does not get added in the interface file and by default NM_CONTROLLED value is yes.
Interface file looks like:
[root@rhle20 cloudinit]# cat /etc/sysconfig/network-scripts/ifcfg-env32 # Created by cloud-init on instance boot automatically, do not edit. # BOOTPROTO=none DEFROUTE=yes DEVICE=env32 GATEWAY=xxx.xxx.xxx.xxx HWADDR=fa:c9:e6:d2:01:20 IPADDR=xxx.xxx.xxx.xxx MTU=1500 NETMASK=xxx.xxx.xxx.xxx ONBOOT=yes STARTMODE=auto TYPE=Ethernet USERCTL=no
I validated this with cloud init provided by RHEL8.2 [cloud- init-19. 4-1.el8. 7.noarch] and I don't see NM_CONTROLLED in the code under cloudinit/ net/sysconfig. py
iface_defaults = tuple([
('BOOTPROTO' , 'none'),
('STARTMODE' , 'auto'),
('ONBOOT', True),
('USERCTL', False),
])
Due to which the NM_CONTROLLED value does not get added in the interface file and by default NM_CONTROLLED value is yes.
Interface file looks like:
[root@rhle20 cloudinit]# cat /etc/sysconfig/ network- scripts/ ifcfg-env32 xxx.xxx. xxx.xxx fa:c9:e6: d2:01:20 xxx.xxx. xxx.xxx xxx.xxx. xxx.xxx
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=none
DEFROUTE=yes
DEVICE=env32
GATEWAY=
HWADDR=
IPADDR=
MTU=1500
NETMASK=
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
USERCTL=no