[SRU] cloud-init should use "nofail" instead of "bootwait"

Bug #1514485 reported by Ben Howard
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
cloud-init (Ubuntu)
Fix Released
High
Unassigned
Wily
Fix Released
Critical
Unassigned
Xenial
Fix Released
High
Unassigned

Bug Description

SRU JUSTIFICATION

[IMPACT] Prior to Ubuntu 15.10, the mount option of "nobootwait" == "nofail." However, with Ubuntu 15.10, this is no longer the case. As a result, snapshotted, stopped and restarted, or migrated Cloud instances may fail to boot if the ephemeral device does not match /etc/fstab.

[FIX] Changed the default mount option to "nofail"

[TEST]
1. Boot Ubuntu 15.10 on Azure
2. Upgrade cloud-init to proposed version
3. Run "sed -i 's/nobootwait/nofail/g' /etc/fstab"
4. Shutdown instance
5. Restart instance, confirm it comes up
6. Capture restarted instance
7. Boot captured image
8. Confirm that capture instance came back up

[ORIGINAL REPORT]
Snapshotted instances may fail to boot due to a change in udev in 15.10. Starting with Ubuntu 15.10, "nobootwait" != "nofail".

For reference, Ubuntu's systemd had a patch that accepted nobootwait [1], but that was dropped in 15.10. discussed some in ubuntu-devel at [2]

--
[1] https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/commit/?h=ubuntu&id=8fbf6c7e671c663190eae8a63b158e686c3d41fa
[2] http://irclogs.ubuntu.com/2015/11/09/%23ubuntu-devel.html#t13:34

affects: ubuntu → cloud-init (Ubuntu)
Revision history for this message
Scott Moser (smoser) wrote :

It seems like the right thing to do is write 'nobootwait' or 'nofail' based on distro.uses_systemd()

description: updated
Changed in cloud-init (Ubuntu Wily):
importance: Undecided → High
Changed in cloud-init (Ubuntu Xenial):
importance: Undecided → High
Changed in cloud-init (Ubuntu Xenial):
assignee: nobody → Ben Howard (utlemming)
status: New → Confirmed
Changed in cloud-init (Ubuntu Wily):
status: New → In Progress
Changed in cloud-init (Ubuntu Xenial):
status: Confirmed → In Progress
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Marking as "critical" owing to Azure instance death. Because Azure instances consider ephemeral devices to be ephemeral per-boot, a stop, resized, or fabric restarted instance may not come back if the instance is presented with a new ephemeral device.

Linked branch has been tested.

Changed in cloud-init (Ubuntu Wily):
importance: High → Critical
summary: - cloud-init should use "nofail" instead of "bootwait"
+ [SRU] cloud-init should use "nofail" instead of "bootwait"
description: updated
Changed in cloud-init (Ubuntu Wily):
assignee: nobody → Ben Howard (utlemming)
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Suspected duplicate with Bug #1514234 for EC2.

description: updated
Revision history for this message
Stéphane Graber (stgraber) wrote : Please test proposed package

Hello Ben, or anyone else affected,

Accepted cloud-init into wily-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/0.7.7~bzr1149-0ubuntu4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in cloud-init (Ubuntu Wily):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 0.7.7~bzr1155-0ubuntu1

---------------
cloud-init (0.7.7~bzr1155-0ubuntu1) xenial; urgency=medium

  * New upstream snapshot.
    * cc_mounts: use 'nofail' rather than 'nobootwait' if system uses systemd.
      (LP: #1514485).

 -- Scott Moser <email address hidden> Tue, 10 Nov 2015 12:35:31 -0500

Changed in cloud-init (Ubuntu Xenial):
status: In Progress → Fix Released
Revision history for this message
Ben Howard (darkmuggle-deactivatedaccount) wrote :

Confirmed on Azure. Marking as verification-done.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cloud-init - 0.7.7~bzr1149-0ubuntu4

---------------
cloud-init (0.7.7~bzr1149-0ubuntu4) wily; urgency=medium

  * d/patches/lp-1514485-nofail_for_ephemeral_mounts.patch: Use nofail
      mount option in fstab instead of bootwait (LP: #1514485).

 -- Ben Howard <email address hidden> Mon, 09 Nov 2015 13:30:14 -0700

Changed in cloud-init (Ubuntu Wily):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of the Stable Release Update for cloud-init has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Martin Pitt (pitti) wrote :

FTR, there is no reason to make this specific to Ubuntu or systemd -- "nofail" is the defined by util-linux, it's not a systemd specific thing. upstart introduced "nobootwait" some years ago, but it has always been an upstart specific alias for the official "nofail".

Revision history for this message
andrew bezella (abezella) wrote :

apologies for commenting on a resolved bug, but adding another FTR comment: it is my understanding that, contrary to statements above, the upstart-specific "nobootwait" is/was not equivalent to the util-linux defined "nofail." see e.g., https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/610869 for some differences in behavior.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.