[Bug 2097769] Re: Installation of ubuntu-desktop-minimal breaks DNS
Lukas Märdian
2097769 at bugs.launchpad.net
Mon Feb 17 11:12:10 UTC 2025
Thank you very much for providing the additional information. I can now
reproduce the issue in a stock ubuntu-24.04.1-live-server-amd64.iso
installation. => After "apt install ubuntu-desktop-minimal" the primary
ethernet interface is listed as "enp1s0 ethernet unmanaged --" by
NetworkManager ("nmcli d"), which is expected, as "netplan apply" was
not run, yet. BUT: It's also listed as unmanaged by systemd-networkd
("networkctl"), therefore dropped it's DNS configuration from
"resolvectl".
I think I've found an even smaller reproducer:
$ lxc launch ubuntu-daily:noble nn-lp2097769-desktop-dns
$ lxc shell nn-lp2097769-desktop-dns
root at nn-lp2097769-desktop-dns:~# networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
307 eth0 ether routable configured
11 links listed.
root at nn-lp2097769-desktop-dns:~# resolvectl
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 307 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.238.94.1
DNS Servers: 10.238.94.1 fd42:7213:f20e:bd74::1 fe80::216:3eff:fe0f:ee29
DNS Domain: lxd
root at nn-lp2097769-desktop-dns:~# apt install ubuntu-settings network-manager
[...]
# still OK
root at nn-lp2097769-desktop-dns:~# nmcli d
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected (externally) eth0
lo loopback connected (externally) lo
root at nn-lp2097769-desktop-dns:~# networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
307 eth0 ether routable configured
root at nn-lp2097769-desktop-dns:~# resolvectl
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 307 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.238.94.1
DNS Servers: 10.238.94.1 fd42:7213:f20e:bd74::1 fe80::216:3eff:fe0f:ee29
DNS Domain: lxd
# but networkd config for eth0 already gone:
root at nn-lp2097769-desktop-dns:~# ls /run/systemd/network/
=> empty
# now restarting systemd-networkd.service leads to eth0 becoming unmanaged (as the .network file is gone)
# and DNS config is dropped
root at nn-lp2097769-desktop-dns:~# systemctl restart systemd-networkd
root at nn-lp2097769-desktop-dns:~# networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
307 eth0 ether routable unmanaged
root at nn-lp2097769-desktop-dns:~# resolvectl
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 307 (eth0)
Current Scopes: none
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
So the reporducer comes down to:
$ apt install ubuntu-settings network-manager && systemctl restart systemd-networkd.service
=> ubuntu-settings installs /usr/lib/netplan/00-network-manager-all.yaml ("renderer: NetworkManager")
=> network-manager installation leads to "netplan generate" being executed by the NM-Netplan integration
=> SOMETHING?? (during "apt install ubuntu-destkop-minimal") restarts systemd-networkd.service, as can be seen from the logs of comment #18:
```
Feb 14 10:17:39 test24 systemd-networkd[839]: enp1s0: Configuring with /run/systemd/network/10-netplan-enp1s0.network.
Feb 14 10:17:39 test24 systemd[1]: Started systemd-networkd.service - Network Configuration.
Feb 14 10:17:39 test24 systemd-networkd[839]: enp1s0: DHCPv4 address 192.168.122.50/24, gateway 192.168.122.1 acquired from 192.168.122.1
Feb 14 10:20:57 test24 systemd[1]: Stopping systemd-networkd.service - Network Configuration...
Feb 14 10:20:57 test24 systemd-networkd[839]: enp1s0: DHCPv6 lease lost
Feb 14 10:20:57 test24 systemd[1]: systemd-networkd.service: Deactivated successfully.
Feb 14 10:20:57 test24 systemd[1]: Stopped systemd-networkd.service - Network Configuration.
Feb 14 10:20:57 test24 systemd[1]: Starting systemd-networkd.service - Network Configuration...
Feb 14 10:20:57 test24 systemd-networkd[14398]: lo: Link UP
Feb 14 10:20:57 test24 systemd-networkd[14398]: lo: Gained carrier
Feb 14 10:20:57 test24 systemd-networkd[14398]: enp1s0: Link UP
Feb 14 10:20:57 test24 systemd-networkd[14398]: enp1s0: Gained carrier
Feb 14 10:20:57 test24 systemd-networkd[14398]: enp1s0: Gained IPv6LL
Feb 14 10:20:57 test24 systemd-networkd[14398]: Enumeration completed
```
With those 3 circumstances coming together, we end up in a situation
where "netplan generate" already produced configuration for the new
setup, but "netplan apply" was not yet executed, enabling that new
configuration. But systemd-networkd.service gets restarted picking up
the new configuration already (outside of Netplan's control), therefore
both networking daemons now don't feel responsible to manage the
interface/DNS.
IMO this could be fixed in 3 different ways:
1/ not having "renderer: NetworkManager" in the netplan configuration # but we actually want to have NM managing the network after a reboot.
2/ not calling "netplan generate" from NetworkManager (LP: #2090848)
3/ not restarting systemd-networkd.service during "apt install ubuntu-desktop-minimal"
Whereas the simple workaround would be to execute:
$ netplan apply
=> This will put control for the interface in NetworkManager's hands, as described in the Netplan configuration. DNS will be working again.
@enr0n, do you have any idea why systemd-networkd.service would be restarted during "apt install ubuntu-desktop-minimal"?
** Changed in: systemd (Ubuntu)
Status: Incomplete => Confirmed
** Changed in: netplan.io (Ubuntu)
Status: New => Triaged
** Changed in: netplan.io (Ubuntu)
Importance: Undecided => Medium
** Tags added: server-triage-discuss
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2097769
Title:
Installation of ubuntu-desktop-minimal breaks DNS
Status in netplan.io package in Ubuntu:
Triaged
Status in systemd package in Ubuntu:
Confirmed
Bug description:
After performing an autoinstall with Ubuntu Server ISO and rebooting,
trying to automate the installation of ubuntu-desktop-minimal causes
DNS settings to be lost.
For our specific use-case, we are installing ubuntu server (fully automated), then using Puppet to install desktop packages. This was working without any manual interaction previously on both Ubuntu 22.04 and 24.04
For the last week or so, deployments of 24.04 (22.04 is still fine) are getting stuck after installing ubuntu-desktop-minimal. The DNS server settings are lost, but IP connectivity remains.
Step-by-step
1) Install Ubuntu Server with default network configuration using autoinstall.
2) Reboot and install network-manager (note that everything is still working normally)
3) Install ubuntu-desktop-minimal
DNS settings are now lost on the primary interface, yet IP
connectivity remains. networkd is still managing the interface, but
"netplan get" reports that NetworkManager is the current renderer.
```
network:
version: 2
renderer: NetworkManager
ethernets:
enp1s0:
critical: true
nameservers:
addresses:
- 172.16.1.100
- 172.18.1.100
dhcp-identifier: "mac"
dhcp4: true
```
We can workaround the problem forcing an extra reboot after installing ubuntu-desktop-minimal. But previously this workflow was fine without rebooting until the very end of the config.
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: systemd 255.4-1ubuntu8.5
ProcVersionSignature: Ubuntu 6.8.0-52.53-generic 6.8.12
Uname: Linux 6.8.0-52-generic x86_64
ApportVersion: 2.28.1-0ubuntu3.3
Architecture: amd64
CasperMD5CheckResult: pass
CloudArchitecture: x86_64
CloudID: none
CloudName: none
CloudPlatform: none
CloudSubPlatform: config
Date: Mon Feb 10 10:47:43 2025
InstallationDate: Installed on 2025-02-10 (0 days ago)
InstallationMedia: Ubuntu-Server 24.04.1 LTS "Noble Numbat" - Release amd64 (20240827)
Lsusb: Error: command ['lsusb'] failed with exit code 1:
Lsusb-t:
Lsusb-v: Error: command ['lsusb', '-v'] failed with exit code 1:
MachineType: VMware, Inc. VMware7,1
ProcEnviron:
LANG=en_GB.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.8.0-52-generic root=/dev/mapper/vg00-root ro
RebootRequiredPkgs: Error: path contained symlinks.
SourcePackage: systemd
SystemdFailedUnits:
Error: command ['systemctl', 'status', '--full', '●'] failed with exit code 4: Invalid unit name "●" escaped as "\xe2\x97\x8f" (maybe you should use systemd-escape?).
Unit \xe2\x97\x8f.service could not be found.
------
Error: command ['systemctl', 'status', '--full', '●'] failed with exit code 4: Invalid unit name "●" escaped as "\xe2\x97\x8f" (maybe you should use systemd-escape?).
Unit \xe2\x97\x8f.service could not be found.
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/25/2021
dmi.bios.vendor: VMware, Inc.
dmi.bios.version: VMW71.00V.18227214.B64.2106252220
dmi.board.name: 440BX Desktop Reference Platform
dmi.board.vendor: Intel Corporation
dmi.board.version: None
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 1
dmi.chassis.vendor: No Enclosure
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnVMware,Inc.:bvrVMW71.00V.18227214.B64.2106252220:bd06/25/2021:svnVMware,Inc.:pnVMware7,1:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:sku:
dmi.product.name: VMware7,1
dmi.product.version: None
dmi.sys.vendor: VMware, Inc.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/2097769/+subscriptions
More information about the foundations-bugs
mailing list