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@nn-lp2097769-desktop-dns:~# networkctl 
IDX LINK     TYPE     OPERATIONAL SETUP     
  1 lo       loopback carrier     unmanaged
307 eth0     ether    routable    configured

11 links listed.
root@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@nn-lp2097769-desktop-dns:~# apt install ubuntu-settings network-manager
[...]

# still OK
root@nn-lp2097769-desktop-dns:~# nmcli d
DEVICE    TYPE      STATE                   CONNECTION 
eth0      ethernet  connected (externally)  eth0       
lo        loopback  connected (externally)  lo         
root@nn-lp2097769-desktop-dns:~# networkctl 
IDX LINK     TYPE     OPERATIONAL SETUP     
  1 lo       loopback carrier     unmanaged
307 eth0     ether    routable    configured
root@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@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@nn-lp2097769-desktop-dns:~# systemctl restart systemd-networkd
root@nn-lp2097769-desktop-dns:~# networkctl 
IDX LINK     TYPE     OPERATIONAL SETUP    
  1 lo       loopback carrier     unmanaged
307 eth0     ether    routable    unmanaged
root@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
Touch seeded packages, 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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to