TLDR: My earlier suggestion to retry in cloud-init.service while
awaiting DNS is not viable when thinking about NetworkManager.
NetworkManager.service is After=sysinit.target due to After=dbus.service
and cloud-init.service is Before=sysinit.target. NetworkManager is the
only service bringing up the primary NIC in desktop images which gives
cloud-init access to a functional DNS. Unless we can move
NetworkManager.service before sysinit.target, I don't think we don't
think we can leverage DNS.
In review of a KVM live desktop boot in which cloud-init.service defines
After=systemd-resolved.service We can see that cloud-init.service still blocks
start of NetworkManager (due to After=sysinit.target) and DNS is not active
until enp1s0 is actually brought up by NetworkManager.
Here are snippets of the journalctl logs on a local KVM boot where we can see
systemd-resolved coming up, then cloud-init.service with 30 retries and finally
NetworkManager.service starting after cloud-init.service failed to download the
metadata due to DNS resolution errors:
1. systemd-resolved "starts" @22:14:42.302181, which unblocks cloud-init.service
2. cloud-init.service @22:14:42.690949 (which emits that enp1s0's link is not
actually up yet so no viable DNS at that time)
3. NetworkManager.service starting @22:15:16.012686up only after
cloud-init.service finishes 30 seconds of retries @22:15:16.012686
4. systemd-resolved finally getting a viable DNS route through enp1s0
@22:15:19.630090 ubuntu systemd-resolved[1136]: enp1s0: Bus client set DNS
server list to: 192.168.122.1
5. Network manager finally sees enp1s0 device activated @22:15:19.632846
6. NetworkManager-wait-online.service finally gets to CONNECTED status
@22:15:19.637543
--- journalctl -b 0 -o short-precise | egrep
'enp1s0|resolved|NetworkManager|ci-info'
Mar 14 22:14:39.167190 ubuntu kernel: virtio_net virtio0 enp1s0: renamed from
eth0
Mar 14 22:14:41.451373 ubuntu systemd[1]: Starting systemd-resolved.service -
Network Name Resolution...
Mar 14 22:14:42.253268 ubuntu systemd-resolved[1136]: Positive Trust Anchors:
Mar 14 22:14:42.253583 ubuntu systemd-resolved[1136]: . IN DS 20326 8 2
e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Mar 14 22:14:42.253685 ubuntu systemd-resolved[1136]: Negative trust anchors:
home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa
18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa
22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa
26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa
30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp
home internal intranet lan local private test
Mar 14 22:14:42.300435 ubuntu systemd-resolved[1136]: Using system hostname
'ubuntu'.
Mar 14 22:14:42.302181 ubuntu systemd[1]: Started systemd-resolved.service -
Network Name Resolution.
### cloud-init noticing enp1s0 has no link
Mar 14 22:14:42.690949 ubuntu cloud-init[1341]: ci-info: | enp1s0 | False |
. | . | . | 52:54:00:5b:ba:d5 |
Mar 14 22:15:16.012686 ubuntu systemd[1]: Starting NetworkManager.service -
Network Manager...
Mar 14 22:15:16.285604 ubuntu NetworkManager[1546]: <info> [1678832116.2854]
NetworkManager (version 1.40.12) is starting...
(boot:1f3e11ab-fea1-4f3e-a6ef-fb9d48b0c4d6)
Mar 14 22:15:16.285972 ubuntu NetworkManager[1546]: <info> [1678832116.2859]
Read config: /etc/NetworkManager/NetworkManager.conf (lib:
10-dns-resolved.conf, 20-connectivity-ubuntu.conf, no-mac-addr-change.conf)
(run: 10-globally-managed-devices.conf) (etc: default-wifi-powersave-on.conf)
Mar 14 22:15:16.302542 ubuntu systemd[1]: Started NetworkManager.service -
Network Manager.
Mar 14 22:15:16.303605 ubuntu NetworkManager[1546]: <info> [1678832116.3035]
bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Mar 14 22:15:16.316514 ubuntu systemd[1]: Starting
NetworkManager-wait-online.service - Network Manager Wait Online...
Mar 14 22:15:16.354249 ubuntu NetworkManager[1546]: <info> [1678832116.3542]
manager[0x5629cd53f000]: monitoring kernel firmware directory '/lib/firmware'.
Mar 14 22:15:16.354423 ubuntu NetworkManager[1546]: <info> [1678832116.3544]
monitoring ifupdown state file '/run/network/ifstate'.
Mar 14 22:15:16.356985 ubuntu dbus-daemon[1490]: [system] Activating via
systemd: service name='org.freedesktop.hostname1'
unit='dbus-org.freedesktop.hostname1.service' requested by ':1.14' (uid=0
pid=1546 comm="/usr/sbin/NetworkManager --no-daemon" label="unconfined")
Mar 14 22:15:16.527848 ubuntu NetworkManager[1546]: <info> [1678832116.5278]
hostname: hostname: using hostnamed
Mar 14 22:15:16.527869 ubuntu NetworkManager[1546]: <info> [1678832116.5278]
hostname: static hostname changed from (none) to "ubuntu"
Mar 14 22:15:16.528346 ubuntu NetworkManager[1546]: <info> [1678832116.5283]
dns-mgr: init: dns=systemd-resolved rc-manager=unmanaged (auto),
plugin=systemd-resolved
Mar 14 22:15:16.531098 ubuntu NetworkManager[1546]: <info> [1678832116.5310]
manager[0x5629cd53f000]: rfkill: Wi-Fi hardware radio set enabled
Mar 14 22:15:16.531208 ubuntu NetworkManager[1546]: <info> [1678832116.5311]
manager[0x5629cd53f000]: rfkill: WWAN hardware radio set enabled
Mar 14 22:15:16.536471 ubuntu NetworkManager[1546]: <info> [1678832116.5364]
Loaded device plugin: NMAtmManager
(/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-device-plugin-adsl.so)
Mar 14 22:15:16.546189 ubuntu NetworkManager[1546]: <info> [1678832116.5461]
Loaded device plugin: NMBluezManager
(/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-device-plugin-bluetooth.so)
Mar 14 22:15:16.551128 ubuntu NetworkManager[1546]: <info> [1678832116.5511]
Loaded device plugin: NMTeamFactory
(/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-device-plugin-team.so)
Mar 14 22:15:16.553375 ubuntu NetworkManager[1546]: <info> [1678832116.5533]
Loaded device plugin: NMWifiFactory
(/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-device-plugin-wifi.so)
Mar 14 22:15:16.553688 ubuntu NetworkManager[1546]: <info> [1678832116.5536]
Loaded device plugin: NMWwanFactory
(/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-device-plugin-wwan.so)
Mar 14 22:15:16.554369 ubuntu NetworkManager[1546]: <info> [1678832116.5543]
manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Mar 14 22:15:16.554716 ubuntu NetworkManager[1546]: <info> [1678832116.5547]
manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Mar 14 22:15:16.555036 ubuntu NetworkManager[1546]: <info> [1678832116.5550]
manager: Networking is enabled by state file
Mar 14 22:15:16.556335 ubuntu dbus-daemon[1490]: [system] Activating via
systemd: service name='org.freedesktop.nm_dispatcher'
unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.14' (uid=0
pid=1546 comm="/usr/sbin/NetworkManager --no-daemon" label="unconfined")
Mar 14 22:15:16.557609 ubuntu NetworkManager[1546]: <info> [1678832116.5575]
settings: Loaded settings plugin: ifupdown
("/usr/lib/x86_64-linux-gnu/NetworkManager/1.40.12/libnm-settings-plugin-ifupdown.so")
Mar 14 22:15:16.557936 ubuntu NetworkManager[1546]: <info> [1678832116.5579]
settings: Loaded settings plugin: keyfile (internal)
Mar 14 22:15:16.558552 ubuntu NetworkManager[1546]: <info> [1678832116.5585]
ifupdown: management mode: unmanaged
Mar 14 22:15:16.558849 ubuntu NetworkManager[1546]: <info> [1678832116.5588]
ifupdown: interfaces file /etc/network/interfaces doesn't exist
Mar 14 22:15:16.562187 ubuntu NetworkManager[1546]: <info> [1678832116.5621]
dhcp: init: Using DHCP client 'internal'
Mar 14 22:15:16.562326 ubuntu NetworkManager[1546]: <info> [1678832116.5623]
device (lo): carrier: link connected
Mar 14 22:15:16.562921 ubuntu NetworkManager[1546]: <info> [1678832116.5629]
manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Mar 14 22:15:16.565623 ubuntu NetworkManager[1546]: <info> [1678832116.5656]
manager: (enp1s0): new Ethernet device
(/org/freedesktop/NetworkManager/Devices/2)
Mar 14 22:15:16.566802 ubuntu NetworkManager[1546]: <info> [1678832116.5667]
device (enp1s0): state change: unmanaged -> unavailable (reason 'managed',
sys-iface-state: 'external')
# enp1s0 Link is finally UP
Mar 14 22:15:16.567801 ubuntu systemd-networkd[1445]: enp1s0: Link UP
Mar 14 22:15:16.567808 ubuntu systemd-networkd[1445]: enp1s0: Gained carrier
Mar 14 22:15:16.576312 ubuntu systemd[1]: Starting
NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service...
Mar 14 22:15:16.593064 ubuntu NetworkManager[1546]: <info> [1678832116.5930]
failed to open /run/network/ifstate
Mar 14 22:15:16.594050 ubuntu systemd[1]: Started
NetworkManager-dispatcher.service - Network Manager Script Dispatcher Service.
Mar 14 22:15:16.603054 ubuntu NetworkManager[1546]: <info> [1678832116.6029]
modem-manager: ModemManager available
# NM sees link is connected
Mar 14 22:15:16.603995 ubuntu NetworkManager[1546]: <info> [1678832116.6038]
device (enp1s0): carrier: link connected
Mar 14 22:15:16.605979 ubuntu NetworkManager[1546]: <info> [1678832116.6059]
device (enp1s0): state change: unavailable -> disconnected (reason
'carrier-changed', sys-iface-state: 'managed')
Mar 14 22:15:16.615688 ubuntu NetworkManager[1546]: <info> [1678832116.6156]
policy: auto-activating connection 'netplan-enp1s0'
(cac41fbe-bc18-3d87-bba7-af2af7f8ffab)
Mar 14 22:15:16.616090 ubuntu NetworkManager[1546]: <info> [1678832116.6160]
device (enp1s0): Activation: starting connection 'netplan-enp1s0'
(cac41fbe-bc18-3d87-bba7-af2af7f8ffab)
Mar 14 22:15:16.616159 ubuntu NetworkManager[1546]: <info> [1678832116.6161]
device (enp1s0): state change: disconnected -> prepare (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:16.616301 ubuntu NetworkManager[1546]: <info> [1678832116.6162]
manager: NetworkManager state is now CONNECTING
Mar 14 22:15:16.616404 ubuntu NetworkManager[1546]: <info> [1678832116.6163]
device (enp1s0): state change: prepare -> config (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:16.616904 ubuntu NetworkManager[1546]: <info> [1678832116.6168]
device (enp1s0): state change: config -> ip-config (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:16.617119 ubuntu NetworkManager[1546]: <info> [1678832116.6171]
dhcp4 (enp1s0): activation: beginning transaction (timeout in 45 seconds)
Mar 14 22:15:18.020005 ubuntu avahi-daemon[1489]: Joining mDNS multicast group
on interface enp1s0.IPv6 with address fe80::5054:ff:fe5b:bad5.
Mar 14 22:15:18.020209 ubuntu systemd-networkd[1445]: enp1s0: Gained IPv6LL
Mar 14 22:15:18.020103 ubuntu avahi-daemon[1489]: New relevant interface
enp1s0.IPv6 for mDNS.
Mar 14 22:15:18.020113 ubuntu avahi-daemon[1489]: Registering new address
record for fe80::5054:ff:fe5b:bad5 on enp1s0.*.
Mar 14 22:15:19.622278 ubuntu NetworkManager[1546]: <info> [1678832119.6222]
dhcp4 (enp1s0): state changed new lease, address=192.168.122.87
Mar 14 22:15:19.622596 ubuntu NetworkManager[1546]: <info> [1678832119.6225]
policy: set 'netplan-enp1s0' (enp1s0) as default for IPv4 routing and DNS
Mar 14 22:15:19.623291 ubuntu avahi-daemon[1489]: Joining mDNS multicast group
on interface enp1s0.IPv4 with address 192.168.122.87.
Mar 14 22:15:19.623380 ubuntu avahi-daemon[1489]: New relevant interface
enp1s0.IPv4 for mDNS.
Mar 14 22:15:19.623395 ubuntu avahi-daemon[1489]: Registering new address
record for 192.168.122.87 on enp1s0.IPv4.
Mar 14 22:15:19.628244 ubuntu systemd-resolved[1136]: enp1s0: Bus client set
default route setting: yes
Mar 14 22:15:19.630090 ubuntu systemd-resolved[1136]: enp1s0: Bus client set
DNS server list to: 192.168.122.1
Mar 14 22:15:19.630505 ubuntu NetworkManager[1546]: <info> [1678832119.6304]
device (enp1s0): state change: ip-config -> ip-check (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:19.632315 ubuntu NetworkManager[1546]: <info> [1678832119.6322]
device (enp1s0): state change: ip-check -> secondaries (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:19.632447 ubuntu NetworkManager[1546]: <info> [1678832119.6324]
device (enp1s0): state change: secondaries -> activated (reason 'none',
sys-iface-state: 'managed')
Mar 14 22:15:19.632671 ubuntu NetworkManager[1546]: <info> [1678832119.6326]
manager: NetworkManager state is now CONNECTED_SITE
Mar 14 22:15:19.632846 ubuntu NetworkManager[1546]: <info> [1678832119.6328]
device (enp1s0): Activation: successful, device activated.
Mar 14 22:15:19.633170 ubuntu NetworkManager[1546]: <info> [1678832119.6331]
manager: startup complete
Mar 14 22:15:19.637543 ubuntu systemd[1]: Finished
NetworkManager-wait-online.service - Network Manager Wait Online.
Mar 14 22:15:19.863983 ubuntu NetworkManager[1546]: <info> [1678832119.8639]
manager: NetworkManager state is now CONNECTED_GLOBAL
Mar 14 22:15:29.879294 ubuntu systemd[1]: NetworkManager-dispatcher.service:
Deactivated successfully.
Mar 14 22:15:56.584613 ubuntu NetworkManager[1546]: <info> [1678832156.5845]
agent-manager: agent[c06ac3176022f796,:1.47/org.gnome.Shell.NetworkAgent/1000]:
agent registered
--
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/2008952
Title:
DNS failure while trying to fetch user-data
Status in cloud-init:
Triaged
Status in netplan:
Invalid
Status in subiquity:
New
Status in systemd package in Ubuntu:
New
Bug description:
In testing netboot + autoinstall of the new ubuntu desktop subiquity
based installer for 23.04 I found cloud-init is failing to retrieve
user-data because it can't resolved the hostname in the URL. This
same configuration does work for 22.04 based subiquity, so seems a
regression.
From the ipxe config:
imgargs vmlinuz initrd=initrd \
ip=dhcp \
iso-url=http://cdimage.ubuntu.com/daily-live/pending/lunar-desktop-amd64.iso
\
fsck.mode=skip \
layerfs-path=minimal.standard.live.squashfs \
autoinstall \
'ds=nocloud-net;s=http://boot.linuxgroove.com/ubuntu/23.04/' \
That fails, but if we replace boot.linuxgroove.com with the IP it
works.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/2008952/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp