...
Description of problem: When customers try to install systems over the network and specify nothing for "ip" parameter (hence defaulting to DHCP), but a inst.repo for example, dracut tries forever to get the IP address over DHCP. If there is no DHCP service listening, which is very common, then the system waits several hours until dracut emergency prompt is reached. The only message we see is: -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- Starting dracut initqueue hook... [ 9.426013] TECH PREVIEW: NVMe/TCP may not be fully supported. [ 9.426013] Please review provided documentation for limitations. [ 9.751210] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready [ 9.752011] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready [ 9.752538] 8021q: adding VLAN 0 to HW filter on device enp1s0 [ 9.759817] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready [ 9.761097] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready [ 9.824009] IPv6: ADDRCONF(NETDEV_CHANGE): enp1s0: link becomes ready -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- Then nothing happens, which is quite confusing, because the admin doesn't know what's happening at all. Booting with rd.debug, we can see that the initqueue loop iterates "slowly" (~ every 100 seconds), so eventually, after days, the dracut prompt will be reached: -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- [ 828.546445] dracut-initqueue[843]: /bin/dracut-initqueue@68(main): main_loop=9 : [ 919.551251] dracut-initqueue[843]: /bin/dracut-initqueue@68(main): main_loop=10 -------- 8< ---------------- 8< ---------------- 8< ---------------- 8< -------- We need something to drop early, e.g. some absolute timeout, but also we need to report what is currently being waited for. Version-Release number of selected component (if applicable): dracut-049 How reproducible: Always Steps to Reproduce: 1. Setup a QEMU/KVM with isolated network (no DHCP) 2. Boot by specifying kernel and initrd paths and "inst.repo=xxx" as kernel args Actual results: After 900 seconds, still at loop 10 Expected results: After 180 seconds (the rd.retry default), getting the dracut prompt + regular messages stating "Getting IP address over DHCP" or similar Additional info: This is critical for a lot of customers, because DHCP is rarely used
Won't Do
Click on a version to see all relevant bugs
Red Hat Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.