debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #00738
[Bug 2098515] Re: IPv6-only (single stack) instances configuring network over dhcp in initramfs will take a long time to boot due to loop in dhcpcd -4
Now that the patch landed in -devel, I will prepare branches and
paperwork to SRU it back to Jammy
--
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to open-iscsi in Ubuntu.
https://bugs.launchpad.net/bugs/2098515
Title:
IPv6-only (single stack) instances configuring network over dhcp in
initramfs will take a long time to boot due to loop in dhcpcd -4
Status in open-iscsi package in Ubuntu:
Fix Released
Status in open-iscsi source package in Jammy:
New
Status in open-iscsi source package in Noble:
New
Status in open-iscsi source package in Plucky:
Triaged
Bug description:
Cloud instances that configure network over DHCP in initramfs, will go
through a "for ROUNDTTT in 30 60 90 120" loop inside
configure_networking().
If the DHCP server is only offering a IPv6 (no IPv4), the instance
will take more than 5 minutes to boot, because it will first go
through a loop trying to obtain IPv4 IP (dhcpcd -1KL -t $ROUNDTTT -4
${DEVICE:+"${DEVICE}"}) for 30+60+90+120 seconds (total 300 seconds -
5 minutes), which won't work, until it times out, and then resume the
boot process.
In https://bugs.launchpad.net/ubuntu/+source/initramfs-
tools/+bug/2091904 initramfs-tools improved this situation, looking
for IPv6 information in /sys/firmware/ibft/ethernet*/ip-addr to decide
whether to look for IPv6 or IPv4, however that assumes that IP
information will be available through ibft, which is not always true.
If no IP information is available through ibft, we still go through
this incorrect loop, delaying the boot process.
Example from an instance booting through virtual disks, with no ibft,
and IPv6-only on Oracle Cloud:
```
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.12.0-1001-oracle root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 nvme.shutdown_timeout=10 libiscsi.debug_libiscsi_eh=1 crash_kexec_post_notifiers
[...]
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... [ 2.863248] No iBFT detected.
Could not setup fw entries.
Begin: Waiting up to 180 secs for any network device to become available ... done.
dhcpcd-10.1.0 starting
dev: loaded udev
[ 2.906793] 8021q: 802.1Q VLAN Support v1.8
[ 2.917496] 8021q: adding VLAN 0 to HW filter on device enp0s5
DUID 00:03:00:01:02:00:17:36:95:6d
enp0s5: IAID 17:36:95:6d
enp0s5: carrier acquired
enp0s5: IAID 17:36:95:6d
[ 2.983134] workqueue: drm_fb_helper_damage_work hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
enp0s5: soliciting a DHCP lease
timed out
exiting due to oneshot
dhcpcd exited
Sleeping 0 seconds before retrying getting a DHCP lease
dhcpcd-10.1.0 starting
dev: loaded udev
DUID 00:03:00:01:02:00:17:36:95:6d
enp0s5: IAID 17:36:95:6d
enp0s5: soliciting a DHCP lease
timed out
exiting due to oneshot
dhcpcd exited
Sleeping 0 seconds before retrying getting a DHCP lease
dhcpcd-10.1.0 starting
dev: loaded udev
DUID 00:03:00:01:02:00:17:36:95:6d
enp0s5: IAID 17:36:95:6d
enp0s5: soliciting a DHCP lease
timed out
exiting due to oneshot
dhcpcd exited
Sleeping 0 seconds before retrying getting a DHCP lease
dhcpcd-10.1.0 starting
dev: loaded udev
DUID 00:03:00:01:02:00:17:36:95:6d
enp0s5: IAID 17:36:95:6d
enp0s5: soliciting a DHCP lease
timed out
exiting due to oneshot
dhcpcd exited
Sleeping 0 seconds before retrying getting a DHCP lease
no search or nameservers found in /run/net-.conf /run/net-*.conf /run/net6-*.conf
[ 303.057039] Loading iSCSI transport class v2.0-870.
[ 303.069113] iscsi: registered transport (tcp)
Could not get boot entry.
done.
```
Full log: https://pastebin.ubuntu.com/p/Sk5dcvpPyY/
We can see such loop between lines 1136 and 1176.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/2098515/+subscriptions