← Back to team overview

debcrafters-packages team mailing list archive

[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

 

This bug was fixed in the package open-iscsi - 2.1.10-3ubuntu4

---------------
open-iscsi (2.1.10-3ubuntu4) questing; urgency=medium

  * d/extra/initramfs/local-top/iscsi: add a flag to skip network
    configuration when iscsi is set to 'auto' but no iBFT data is present.
    Thanks to Alec Warren <alecwarren19@xxxxxxxxx>. (LP: #2098515)

 -- Renan Rodrigo <renanrodrigo@xxxxxxxxxxxxx>  Wed, 09 Apr 2025
10:21:33 -0300

** Changed in: open-iscsi (Ubuntu)
       Status: Triaged => Fix Released

-- 
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