[Ubuntu 22.04]cloud-init failed to complete after 10 minutes of waiting was shown during Installation via iDRAC Virtual Console
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Invalid
|
Undecided
|
Unassigned | ||
subiquity |
Invalid
|
Undecided
|
Unassigned | ||
casper (Ubuntu) |
Fix Released
|
High
|
Dan Bungert | ||
Focal |
Triaged
|
Low
|
Mauricio Faria de Oliveira | ||
Jammy |
Fix Released
|
Low
|
Mauricio Faria de Oliveira | ||
Kinetic |
Won't Fix
|
Low
|
Mauricio Faria de Oliveira |
Bug Description
[Impact]
* Users that install Ubuntu Server through slow
media (eg, virtual optical drive over network,
which may be common on enterprise deployments)
might hit the following subiquity startup error:
'cloud-init failed to complete after 10 minutes of waiting'
* (That in addition to 10 minutes of waiting themselves.)
* This happens because casper-
(slowly) verifying the integrity of install media,
which blocks `multi-
which blocks `cloud-
which blocks `cloud-init status --wait`
which is used in subiquity / `waiting on cloud-init`).
[Fix]
* The adopted solution (merged on lunar) is simply
not to block `multi-
_after_ it.
[Test Steps]
For a synthetic reproducer of slowness of casper-md5check:
* boot with `break=init` to break into initramfs-tools
before exec() systemd.
* chroot /root /bin/bash
* edit /usr/lib/
* prepend `strace --inject read:delay_
command in `ExecStart`, to introduce a 5 secs delay
to every read() syscall performed by casper-md5check.
* exit twice (chroot, initramfs shell) to resume boot.
See comment 37 for examples.
[Regression Potential]
* Functionality related to install media integrity check.
* Users with corrupted install media might not realize
this until later on; but this is rarely the case and
even w/out the fix, there's a lot that runs _before_
we even get to casper-md5check, so they may (still)
see errors early anyway.
* There's a cosmetic glitch in the proposed solution:
the systemd line when casper-md5check finishes
shows up on top of subiquity's menu (screenshot):
"[ OK ] Finished casper-md5check Verify Live ISO checksums."
Dan Bungert mentioned this is known and should be
addressed in a future change to subiquity, and is
not supposed to block the SRU for Jammy / 22.04.2.
[Original Description]
Description:
On Dell EMC PowerEdge system when Install Ubuntu 22.04 via iDRAC Virtual Console, cloud-init failed to complete after 10 minutes of waiting.
Steps to Reproduce:
1. Login to iDRAC and Launch Virtual Console.
2. Connect to Virtual Media and Map ubuntu 22.04 iso file using Map CD/DVD option.
3. Try Installing Ubuntu server.
4. "cloud-init" failed to complete after 10 minutes of waiting was shown during Installation.
Expected Results :-
Installation should be successful.
Related branches
- Michael Hudson-Doyle: Approve
- Dimitri John Ledkov (community): Needs Fixing
-
Diff: 32 lines (+11/-1)2 files modifieddebian/casper.casper-md5check.service (+2/-1)
debian/changelog (+9/-0)
no longer affects: | bash-completion (Ubuntu) |
information type: | Private → Public |
information type: | Public → Private |
information type: | Private → Public |
Changed in cloud-init: | |
status: | Incomplete → New |
Changed in cloud-init: | |
status: | Incomplete → New |
Changed in subiquity: | |
status: | Incomplete → New |
Changed in casper (Ubuntu Kinetic): | |
status: | New → Triaged |
importance: | Undecided → Low |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in casper (Ubuntu Jammy): | |
status: | New → Triaged |
importance: | Undecided → Low |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in casper (Ubuntu Focal): | |
status: | New → Triaged |
importance: | Undecided → Low |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
tags: | added: se-sponsor-mfo sts |
Changed in casper (Ubuntu Jammy): | |
milestone: | none → ubuntu-22.04.2 |
I took a look at the logs, and this doesn't appear to be a problem with cloud-init specifically. Cloud-init runs multiple times during boot, and each run has its own set of systemd services that it depends on having run first. If we look at cloud-init.log, we can see that there's a time where one cloud-init instance exits, then a greater than 10 minute gap before cloud-init's final service runs:
2022-08-17 06:38:53,429 - util.py[DEBUG]: cloud-init mode 'modules' took 0.139 seconds (0.14) g2e17a0d6- 0ubuntu1~ 22.04.5 running 'modules:final' at Wed, 17 Aug 2022 06:52:29 +0000. Up 999.23 seconds.
2022-08-17 06:38:53,429 - handlers.py[DEBUG]: finish: modules-config: SUCCESS: running modules for config
2022-08-17 06:52:29,424 - util.py[DEBUG]: Cloud-init v. 22.1-14-
This can happen if one of cloud-init's dependent services has stalled or failed. To see if another service has stalled or failed, you could try the following commands:
systemd-analyze blame
systemctl --failed
Does the entire installation fail, or just cloud-init?