Path to swapfile doesn't use a static device path
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ec2-hibinit-agent (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Fix Released
|
Undecided
|
Unassigned | ||
hibagent (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Alberto Contreras | ||
Focal |
Fix Released
|
Undecided
|
Alberto Contreras | ||
Groovy |
Won't Fix
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Alberto Contreras | ||
Kinetic |
Fix Released
|
Undecided
|
Alberto Contreras |
Bug Description
[Impact]
* Using the device name on the kernel cmdline in the resume= option leads to failure to resume from hibernation when the device name is not stable, which can be the case for nvme drives.
[Test Case]
* ec2-hibinit-agent
* Set up an EC2 instance to allow hibernation
* Wait for hibinit-
* /etc/default/
* hibagent
* Spin up an EC2 spot instance with `hibernate` as `Interruption behavior` [1].
* Install the latest hibagent: `sudo apt-get install hibagent`
* Enable hibernation: `sudo /usr/bin/
* Create an AWS FIS experiment template to send a spot-instance-
Note: This step is optional, one can wait for AWS EC2 to send the interruption signal, but it could take a lot of time.
* After some minutes, EC2 will send a signal to resume the interrupted instance.
* Verify the instance has correctly been resumed from hibernation.
[1] https:/
[2] https:/
[Regression Potential]
* Failure to discover PARTUUID makes the system unable to resume. A potential crash would cause the system unable to set up hibernation or unable to resume. (On Focal PARTUUID is already in use, even without this fix.)
[Original Bug Text]
When the agent inserts the resume device path and offset into the kernel cmdline, it uses device names such as the following:
`resume_
The issue is that `/dev/nvme1n1p1` is not static. On the reboot, the block device may appear at `/dev/nvme0n1p1` resulting in failure to find the swapfile used to suspend.
The solution should be to use a persistent block device naming scheme.
Related branches
- git-ubuntu import: Pending requested
-
Diff: 253 lines (+189/-0) (has conflicts)7 files modifieddebian/changelog (+24/-0)
debian/control (+1/-0)
debian/patches/disable-hibernate-test.patch (+4/-0)
debian/patches/do-nothing-if-ODH-is-configured.patch (+77/-0)
debian/patches/lp1896638-set-resume-device-by-partition-uuid.patch (+33/-0)
debian/patches/series (+6/-0)
debian/patches/use-imdsv2.patch (+44/-0)
- Simon Chopin (community): Approve
-
Diff: 64 lines (+42/-0)3 files modifieddebian/changelog (+8/-0)
debian/patches/lp1896638-set-resume-device-by-partition-uuid.patch (+33/-0)
debian/patches/series (+1/-0)
- Simon Chopin (community): Approve
-
Diff: 149 lines (+121/-0)4 files modifieddebian/changelog (+11/-0)
debian/patches/lp1896638-set-resume-device-by-partition-uuid.patch (+33/-0)
debian/patches/lp2013336-do-not-modify-GRUB-config-on-GRUB2-systems.patch (+75/-0)
debian/patches/series (+2/-0)
- Simon Chopin (community): Approve
-
Diff: 149 lines (+121/-0)4 files modifieddebian/changelog (+11/-0)
debian/patches/lp1896638-set-resume-device-by-partition-uuid.patch (+33/-0)
debian/patches/lp2013336-do-not-modify-GRUB-config-on-GRUB2-systems.patch (+75/-0)
debian/patches/series (+2/-0)
- Simon Chopin (community): Approve
-
Diff: 149 lines (+121/-0)4 files modifieddebian/changelog (+11/-0)
debian/patches/lp1896638-set-resume-device-by-partition-uuid.patch (+33/-0)
debian/patches/lp2013336-do-not-modify-GRUB-config-on-GRUB2-systems.patch (+75/-0)
debian/patches/series (+2/-0)
Changed in ec2-hibinit-agent (Ubuntu Focal): | |
status: | New → Invalid |
Changed in ec2-hibinit-agent (Ubuntu Groovy): | |
status: | New → Invalid |
Changed in ec2-hibinit-agent (Ubuntu Bionic): | |
status: | New → Confirmed |
Changed in ec2-hibinit-agent (Ubuntu Focal): | |
status: | Invalid → Confirmed |
Changed in ec2-hibinit-agent (Ubuntu Groovy): | |
status: | Invalid → Confirmed |
Changed in ec2-hibinit-agent (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in ec2-hibinit-agent (Ubuntu Groovy): | |
status: | Confirmed → In Progress |
description: | updated |
description: | updated |
no longer affects: | ec2-hibinit-agent (Ubuntu Jammy) |
no longer affects: | ec2-hibinit-agent (Ubuntu Kinetic) |
Changed in hibagent (Ubuntu Kinetic): | |
assignee: | nobody → Alberto Contreras (aciba) |
Changed in hibagent (Ubuntu Jammy): | |
assignee: | nobody → Alberto Contreras (aciba) |
Changed in hibagent (Ubuntu Focal): | |
assignee: | nobody → Alberto Contreras (aciba) |
Changed in hibagent (Ubuntu Bionic): | |
assignee: | nobody → Alberto Contreras (aciba) |
Changed in hibagent (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in hibagent (Ubuntu Focal): | |
status: | New → In Progress |
Changed in hibagent (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in hibagent (Ubuntu Kinetic): | |
status: | New → In Progress |
tags: | added: verification-done |
please use by-id with uuid path as listed in https:/ /wiki.ubuntu. com/FSTAB