Bug 1804780

Summary: NetworkManager changes resolv.conf with "dns = none" config option
Product: Red Hat Enterprise Linux 8 Reporter: Sergey Orlov <sorlov>
Component: cloud-initAssignee: Eduardo Otubo <eterrell>
Status: CLOSED DUPLICATE QA Contact: xiachen
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.2CC: huzhao, jgreguske, ribarry, yacao, yuxisun
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-02 10:54:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Sergey Orlov 2020-02-19 15:52:20 UTC
Description of problem:
The file /etc/NetworkManager/conf.d/99-cloud-init.conf with option "dns = None" is created after Networkanager starts, so this option is ignored until NM is restarted.


Version-Release number of selected component (if applicable):
cloud-init-18.5-8.el8.noarch
Image: RHEL-8.2.0-x86_64-production-latest

How reproducible:
Always

Steps to Reproduce:
1. Have a newly provisioned machine in OpenStack
2. 
# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.2 Beta (Ootpa)
# grep search /etc/resolv.conf 
search openstacklocal
# hostnamectl set-hostname host1.test.domain
# grep search /etc/resolv.conf 
search openstacklocal test.domain

Actual results:
"test.domain" is added to resolv.conf

Expected results:
resolv.conf is unchanged.

Additional info:
# cat /etc/NetworkManager/conf.d/99-cloud-init.conf 
# Created by cloud-init on instance boot automatically, do not edit.
#
[main]
dns = none


After reboot NM does not update resolv.conf when hostname changes
# grep search /etc/resolv.conf 
search openstacklocal test.domain
# hostnamectl set-hostname host1.test.domain2
# grep search /etc/resolv.conf 
search openstacklocal test.domain

Comment 1 Sergey Orlov 2020-02-19 15:53:46 UTC
Logs: 

# journalctl | grep -P 'NetworkManager|cloud-init'
Feb 19 10:32:49 localhost.localdomain systemd[1]: Starting Initial cloud-init job (pre-networking)...
Feb 19 10:33:03 localhost.localdomain cloud-init[697]: Cloud-init v. 18.5 running 'init-local' at Wed, 19 Feb 2020 15:32:53 +0000. Up 13.25 seconds.
Feb 19 10:33:03 localhost.localdomain cloud-init[697]: 2020-02-19 15:33:03,896 - util.py[WARNING]: No active metadata service found
Feb 19 10:33:04 localhost.localdomain systemd[1]: Started Initial cloud-init job (pre-networking).
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.1071] NetworkManager (version 1.22.0-2.el8) is starting... (for the first time)
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.1083] Read config: /etc/NetworkManager/NetworkManager.conf
Feb 19 10:33:04 localhost.localdomain systemd[1]: Starting Initial cloud-init job (metadata service crawler)...
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.1222] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.1323] manager[0x55f6e7cfa100]: monitoring kernel firmware directory '/lib/firmware'.
Feb 19 10:33:04 localhost.localdomain dbus-daemon[642]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.7' (uid=0 pid=775 comm="/usr/sbin/NetworkManager --no-daemon " label="system_u:system_r:NetworkManager_t:s0")
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9799] hostname: hostname: using hostnamed
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9802] hostname: hostname changed from (none) to "localhost.localdomain"
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9805] dns-mgr[0x55f6e7cdd250]: init: dns=default,systemd-resolved rc-manager=symlink
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9944] Loaded device plugin: NMTeamFactory (/usr/lib64/NetworkManager/1.22.0-2.el8/libnm-device-plugin-team.so)
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9947] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9951] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9955] manager: Networking is enabled by state file
Feb 19 10:33:04 localhost.localdomain dbus-daemon[642]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.7' (uid=0 pid=775 comm="/usr/sbin/NetworkManager --no-daemon " label="system_u:system_r:NetworkManager_t:s0")
Feb 19 10:33:04 localhost.localdomain NetworkManager[775]: <info>  [1582126384.9963] dhcp-init: Using DHCP client 'internal'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0040] settings: Loaded settings plugin: ifcfg-rh ("/usr/lib64/NetworkManager/1.22.0-2.el8/libnm-settings-plugin-ifcfg-rh.so")
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0041] settings: Loaded settings plugin: keyfile (internal)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0191] device (lo): carrier: link connected
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0194] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0204] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0214] device (eth0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0244] device (eth0): carrier: link connected
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0571] device (eth0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0579] policy: auto-activating connection 'System eth0' (5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0585] device (eth0): Activation: starting connection 'System eth0' (5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0586] device (eth0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0589] manager: NetworkManager state is now CONNECTING
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0590] device (eth0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0594] device (eth0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.0597] dhcp4 (eth0): activation: beginning transaction (timeout in 45 seconds)
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1487] dhcp4 (eth0): option dhcp_lease_time      => '86400'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option domain_name          => 'openstacklocal'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option domain_name_servers  => '10.11.5.19 10.5.30.45'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option expiry               => '1582212785'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option host_name            => 'host-10-0-140-196'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option interface_mtu        => '1500'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option ip_address           => '10.0.140.196'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1488] dhcp4 (eth0): option next_server          => '10.0.140.18'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_broadcast_address => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_dhcp_server_identifier => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_domain_name => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_domain_name_servers => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_domain_search => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_host_name  => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_interface_mtu => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_ms_classless_static_routes => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_nis_domain => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_nis_servers => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_ntp_servers => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_rfc3442_classless_static_routes => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_root_path  => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_routers    => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1489] dhcp4 (eth0): option requested_static_routes => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option requested_subnet_mask => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option requested_time_offset => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option requested_wpad       => '1'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option rfc3442_classless_static_routes => '169.254.169.254/32 10.0.140.18 0.0.0.0/0 10.0.143.254'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option routers              => '10.0.143.254'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): option subnet_mask          => '255.255.252.0'
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1490] dhcp4 (eth0): state changed unknown -> bound
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1508] device (eth0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1679] device (eth0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain dbus-daemon[642]: [system] Activating via systemd: service name='org.freedesktop.resolve1' unit='dbus-org.freedesktop.resolve1.service' requested by ':1.7' (uid=0 pid=775 comm="/usr/sbin/NetworkManager --no-daemon " label="system_u:system_r:NetworkManager_t:s0")
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1683] device (eth0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1690] manager: NetworkManager state is now CONNECTED_LOCAL
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1700] manager: NetworkManager state is now CONNECTED_SITE
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1701] policy: set 'System eth0' (eth0) as default for IPv4 routing and DNS
Feb 19 10:33:05 localhost.localdomain NetworkManager[775]: <info>  [1582126385.1702] policy: set-hostname: set hostname to 'host-10-0-140-196' (from DHCPv4)
Feb 19 10:33:05 host-10-0-140-196 NetworkManager[775]: <info>  [1582126385.2113] device (eth0): Activation: successful, device activated.
Feb 19 10:33:05 host-10-0-140-196 NetworkManager[775]: <info>  [1582126385.2121] manager: NetworkManager state is now CONNECTED_GLOBAL
Feb 19 10:33:05 host-10-0-140-196 NetworkManager[775]: <info>  [1582126385.2128] manager: startup complete
Feb 19 10:33:06 host-10-0-140-196 NetworkManager[775]: <info>  [1582126386.4554] policy: set 'System eth0' (eth0) as default for IPv6 routing and DNS
Feb 19 10:33:08 sorlov-rhel82 NetworkManager[775]: <info>  [1582126388.1633] hostname: hostname changed from "localhost.localdomain" to "sorlov-rhel82"
Feb 19 10:33:08 sorlov-rhel82 NetworkManager[775]: <info>  [1582126388.1634] policy: set-hostname: set hostname to 'sorlov-rhel82' (from system configuration)
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: Cloud-init v. 18.5 running 'init' at Wed, 19 Feb 2020 15:33:05 +0000. Up 25.23 seconds.
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +--------+------+------------------------------+---------------+--------+-------------------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: | Device |  Up  |           Address            |      Mask     | Scope  |     Hw-Address    |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +--------+------+------------------------------+---------------+--------+-------------------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |  eth0  | True |         10.0.140.196         | 255.255.252.0 | global | fa:16:3e:a7:cd:78 |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |  eth0  | True | fe80::f816:3eff:fea7:cd78/64 |       .       |  link  | fa:16:3e:a7:cd:78 |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   lo   | True |          127.0.0.1           |   255.0.0.0   |  host  |         .         |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   lo   | True |           ::1/128            |       .       |  host  |         .         |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +--------+------+------------------------------+---------------+--------+-------------------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: ++++++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++++++
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-----------------+--------------+-----------------+-----------+-------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: | Route |   Destination   |   Gateway    |     Genmask     | Interface | Flags |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-----------------+--------------+-----------------+-----------+-------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   0   |     0.0.0.0     | 10.0.143.254 |     0.0.0.0     |    eth0   |   UG  |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   1   |    10.0.140.0   |   0.0.0.0    |  255.255.252.0  |    eth0   |   U   |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   2   | 169.254.169.254 | 10.0.140.18  | 255.255.255.255 |    eth0   |  UGH  |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-----------------+--------------+-----------------+-----------+-------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-------------+---------+-----------+-------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: | Route | Destination | Gateway | Interface | Flags |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-------------+---------+-----------+-------+
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   1   |  fe80::/64  |    ::   |    eth0   |   U   |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: |   3   |   ff00::/8  |    ::   |    eth0   |   U   |
Feb 19 10:33:08 sorlov-rhel82 cloud-init[778]: ci-info: +-------+-------------+---------+-----------+-------+
Feb 19 10:33:09 sorlov-rhel82 systemd[1]: Started Initial cloud-init job (metadata service crawler).
Feb 19 10:33:10 sorlov-rhel82 cloud-init[910]: Cloud-init v. 18.5 running 'modules:config' at Wed, 19 Feb 2020 15:33:10 +0000. Up 30.44 seconds.
Feb 19 10:33:11 sorlov-rhel82 cloud-init[1043]: Cloud-init v. 18.5 running 'modules:final' at Wed, 19 Feb 2020 15:33:11 +0000. Up 31.27 seconds.
Feb 19 10:33:11 sorlov-rhel82 cloud-init[1043]: Cloud-init v. 18.5 finished at Wed, 19 Feb 2020 15:33:11 +0000. Datasource DataSourceOpenStack [net,ver=2].  Up 31.51 seconds
Feb 19 10:38:41 host1.test.domain NetworkManager[775]: <info>  [1582126721.7970] hostname: hostname changed from "sorlov-rhel82" to "host1.test.domain"
Feb 19 10:38:41 host1.test.domain dbus-daemon[642]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.7' (uid=0 pid=775 comm="/usr/sbin/NetworkManager --no-daemon " label="system_u:system_r:NetworkManager_t:s0")
Feb 19 10:38:41 host1.test.domain NetworkManager[775]: <info>  [1582126721.8584] policy: set-hostname: set hostname to 'host1.test.domain' (from system configuration)

# grep 99-cloud-init /var/log/cloud-init.log
2020-02-19 15:33:08,125 - util.py[DEBUG]: Writing to /etc/NetworkManager/conf.d/99-cloud-init.conf - wb: [644] 89 bytes
2020-02-19 15:33:08,126 - util.py[DEBUG]: Restoring selinux mode for /etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)
2020-02-19 15:33:08,126 - util.py[DEBUG]: Restoring selinux mode for /etc/NetworkManager/conf.d/99-cloud-init.conf (recursive=False)

Comment 5 Eduardo Otubo 2020-03-02 10:54:47 UTC
BZ fixed by the patch that fixes BZ#1807797

*** This bug has been marked as a duplicate of bug 1807797 ***