Public bug reported: ## FFe ##
========= Rationale ========= This is a Feature Freeze Exception request to update `ec2-hibinit-agent` from 1.0.0-0ubuntu18 to upstream version 1.0.9 in Resolute Raccoon. This update is necessary because the newer version contains many fixes and improvements, such as btrfs support, that Ubuntu currently carries as patches or never added support for, while also allowing us to drop several patches that have since been accepted upstream or made obsolete, reducing our maintenance overhead. `ec2-hibinit-agent` is a narrowly-scoped package used to configure hibernation support for Ubuntu guests running on AWS EC2. This is not a general-purpose user package and its impact is limited to EC2 instances configured with optional features for hibernation support. ================ Proposed Changes ================ This upload updates the package to upstream version 1.0.9. The Ubuntu changelog for this update is: * Update to new upstream tarball version 1.0.9 (LP: #2129313) * Add d/watch file and remove d/todo * add var/lib/hibinit-agent to d/dirs * Update readme name in d/docs * Use upstream systemd unit in d/ec2-hibinit-agent.install and drop ours * Update packaging for compat 13 * Drop patches now accepted upstream: - lp2031345-recreate-swap-file.patch - lp2024505-fix-locale-issue.patch - lp2023924-remove-quotes-from-state-dir.patch - lp1941785-Add-support-for-IMDSv2.patch - lp1968805-Swapon-with-maximum-priority-before-hibernation.patch - 0005-Skip-installing-init.d-script.patch (init.d dropped upstream) - 0004-Fix-Python3-compatibility.patch * Drop patches no longer needed: - 0015-ignore-setting-resume-offset-again-if-dev-snapshot-d.patch - 0008-Detect-disabled-hibernation-with-Python-3-s-urllib-t.patch - fix-setuptools-package-discovery.patch dropped in favor of 0013-define-packages-within-setup.patch * Refresh or update remaining patches to align with upstream changes: - Replace 0005, 0008, and 0010 with a single consolidated patch: d/p/debian-grub-integration.patch: + Update to use PARTUUID for grub config while resolving to real device paths for /sys/power/resume for sysfs compatibility. - 0006-Use-swap-hibinit-instead-of-too-generic-swap.patch Refreshed. - detect-hibernate-cmd-by-default.patch Updated to reflect upstream hibernation logic refactor. - py3-default Updated for upstream change of python executable. - hibinit-agent.system-sleep Single file was not updated to install to usr/lib * d/p/0011-Disable-Dracut-initramfs-rebuild.patch: do not rebuild initramfs with dracut since we do not use dracut on cloud images * d/p/0013-define-packages-within-setup.patch: Fix building sdist by manually specifying where python code lives Notable upstream changes included in the new tarball include: - 1.0.9: confirm `/dev/snapshot` exists before updating resume parameters again - 1.0.8/1.0.8-1: refactoring for legibility, better termination behavior, service changes - 1.0.7: btrfs support for swap handling - 1.0.6: swap recreation improvements and conditional resume parameter updates ================ seeded-in-ubuntu ================ $ seeded-in-ubuntu ec2-hibinit-agent ec2-hibinit-agent's binaries are not seeded. ========== PPA builds ========== The package builds successfully for amd64 in a PPA: https://launchpad.net/~iacobp/+archive/ubuntu/junk-drawer/+packages ================== Additional testing ================== This package does not currently have upstream tests or autopkgtests. Testing performed so far has focused on package buildability and image-level validation in the EC2 image pipeline. - The package builds successfully with the updated packaging. - The package installs successfully from the test build. - The package upgrade path was reviewed as part of the packaging refresh, including use of the upstream systemd unit and shipping the required `/var/lib/hibinit-agent` state directory. - Image-level testing was run internal to cpc; these jobs are known to be historically unstable for reasons not believed to be specific to this package, but this update did not show a worse pass rate than the baseline. =============================== Installation and testing on EC2 =============================== Requires an instance to be launched with an encrypted ami, an encrypted ebs volume attached, and hibernation enabled. ubuntu@ip-172-31-44-108:~$ sudo add-apt-repository -y ppa:iacobp/hibinit-agent [...] ubuntu@ip-172-31-44-108:~$ sudo apt update && sudo apt install -y ec2-hibinit-agent [...] ubuntu@ip-172-31-44-108:~$ systemctl status hibinit-agent ○ hibinit-agent.service - Initial hibernation setup job Loaded: loaded (/usr/lib/systemd/system/hibinit-agent.service; enabled; preset: enabled) Active: inactive (dead) since Wed 2026-03-25 05:39:22 UTC; 16s ago Duration: 216ms Invocation: 182a7d9bc5364772afaf895989ba86eb Process: 2355 ExecStart=/usr/bin/hibinit-agent -c /etc/hibinit-config.cfg (code=exited, status=0/SUCCESS) Main PID: 2355 (code=exited, status=0/SUCCESS) Mem peak: 23M CPU: 879ms Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Found '/var/lib/hibinit-agent/hibernation-enabled', configuring hibernation Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Will check if swap is at least: 15783 megabytes Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: There's sufficient swap available (have 16550199296, need 16550199296) Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Running: swapon /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Updating the kernel offset for the swapfile: /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Updating GRUB to use the device /dev/nvme0n1p1 with offset 15433728 for resume Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Setting swap device to 66305 with offset 15433728 Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Done updating the swap offset. Turning swapoff Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Running: swapoff /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 systemd[1]: hibinit-agent.service: Deactivated successfully. ubuntu@ip-172-31-44-108:~$ sudo apt install stress-ng [...] ubuntu@ip-172-31-44-108:~$ stress --cpu 1 [...] ubuntu@ip-172-31-44-108:~$ stress-ng --cpu 1 & disown [...] Hibernate instance from EC2 web console, wait for instance to stop, then start instance again ubuntu@ip-172-31-44-108:~$ uptime 05:44:36 up 8 min, 2 users, load average: 0.90, 0.41, 0.16 ubuntu@ip-172-31-44-108:~$ ps -aux |grep stress ubuntu 2908 0.0 0.0 79836 13512 pts/0 SL 05:40 0:00 stress-ng --cpu 1 ubuntu 2913 50.4 0.0 79836 8940 pts/0 R 05:40 2:07 stress-ng-cpu ubuntu 3151 0.0 0.0 7124 2540 pts/1 S+ 05:44 0:00 grep --color=auto stress ==================== Regression potential ==================== The regression surface is limited because this package is not seeded in Ubuntu and is specific to AWS EC2 hibernation support, which is not enabled by default and requires the user to opt in before launching an instance. The main regression risk is in hibernation/resume integration on EC2 instances, particularly around: - swapfile sizing/recreation logic - resume offset handling - grub integration for resume configuration - interaction with systemd service startup This upload also reduces risk by dropping a large number of downstream patches that are now upstreamed, and by adopting more of the upstream-maintained code and service definitions while keeping only the Ubuntu-specific deltas that are still needed. ====================== Additional information ====================== Merge proposal: https://code.launchpad.net/~iacobp/ubuntu/+source/ec2-hibinit-agent/+git/ec2-hibinit-agent/+merge/494866 Tracking bug: https://bugs.launchpad.net/ubuntu/+source/ec2-hibinit-agent/+bug/2129313 ** Affects: ec2-hibinit-agent (Ubuntu) Importance: Undecided Status: New ** Description changed: - FFe: update ec2-hibinit-agent to 1.0.9 in Resolute - ## FFe ## ========= Rationale ========= This is a Feature Freeze Exception request to update `ec2-hibinit-agent` from 1.0.0-0ubuntu18 to upstream version 1.0.9 in Resolute Raccoon. This update is necessary because the newer version contains many fixes and improvements, - such as btrfs support, that Ubuntu currently carries as patches or never added support for, + such as btrfs support, that Ubuntu currently carries as patches or never added support for, while also allowing us to drop several patches that have since been accepted upstream or made obsolete, reducing our maintenance overhead. `ec2-hibinit-agent` is a narrowly-scoped package used to configure hibernation support for Ubuntu guests running on AWS EC2. This is not a general-purpose user package - and its impact is limited to EC2 instances configured with optional features for + and its impact is limited to EC2 instances configured with optional features for hibernation support. ================ Proposed Changes ================ This upload updates the package to upstream version 1.0.9. The Ubuntu changelog for this update is: - * Update to new upstream tarball version 1.0.9 (LP: #2129313) - * Add d/watch file and remove d/todo - * add var/lib/hibinit-agent to d/dirs - * Update readme name in d/docs - * Use upstream systemd unit in d/ec2-hibinit-agent.install and drop ours - * Update packaging for compat 13 - * Drop patches now accepted upstream: - - lp2031345-recreate-swap-file.patch - - lp2024505-fix-locale-issue.patch - - lp2023924-remove-quotes-from-state-dir.patch - - lp1941785-Add-support-for-IMDSv2.patch - - lp1968805-Swapon-with-maximum-priority-before-hibernation.patch - - 0005-Skip-installing-init.d-script.patch (init.d dropped upstream) - - 0004-Fix-Python3-compatibility.patch - * Drop patches no longer needed: - - 0015-ignore-setting-resume-offset-again-if-dev-snapshot-d.patch - - 0008-Detect-disabled-hibernation-with-Python-3-s-urllib-t.patch - - fix-setuptools-package-discovery.patch - dropped in favor of 0013-define-packages-within-setup.patch - * Refresh or update remaining patches to align with upstream changes: - - Replace 0005, 0008, and 0010 with a single consolidated patch: - d/p/debian-grub-integration.patch: - + Update to use PARTUUID for grub config while resolving to real - device paths for /sys/power/resume for sysfs compatibility. - - 0006-Use-swap-hibinit-instead-of-too-generic-swap.patch - Refreshed. - - detect-hibernate-cmd-by-default.patch - Updated to reflect upstream hibernation logic refactor. - - py3-default - Updated for upstream change of python executable. - - hibinit-agent.system-sleep - Single file was not updated to install to usr/lib - * d/p/0011-Disable-Dracut-initramfs-rebuild.patch: do not rebuild - initramfs with dracut since we do not use dracut on cloud images - * d/p/0013-define-packages-within-setup.patch: Fix building sdist - by manually specifying where python code lives + * Update to new upstream tarball version 1.0.9 (LP: #2129313) + * Add d/watch file and remove d/todo + * add var/lib/hibinit-agent to d/dirs + * Update readme name in d/docs + * Use upstream systemd unit in d/ec2-hibinit-agent.install and drop ours + * Update packaging for compat 13 + * Drop patches now accepted upstream: + - lp2031345-recreate-swap-file.patch + - lp2024505-fix-locale-issue.patch + - lp2023924-remove-quotes-from-state-dir.patch + - lp1941785-Add-support-for-IMDSv2.patch + - lp1968805-Swapon-with-maximum-priority-before-hibernation.patch + - 0005-Skip-installing-init.d-script.patch (init.d dropped upstream) + - 0004-Fix-Python3-compatibility.patch + * Drop patches no longer needed: + - 0015-ignore-setting-resume-offset-again-if-dev-snapshot-d.patch + - 0008-Detect-disabled-hibernation-with-Python-3-s-urllib-t.patch + - fix-setuptools-package-discovery.patch + dropped in favor of 0013-define-packages-within-setup.patch + * Refresh or update remaining patches to align with upstream changes: + - Replace 0005, 0008, and 0010 with a single consolidated patch: + d/p/debian-grub-integration.patch: + + Update to use PARTUUID for grub config while resolving to real + device paths for /sys/power/resume for sysfs compatibility. + - 0006-Use-swap-hibinit-instead-of-too-generic-swap.patch + Refreshed. + - detect-hibernate-cmd-by-default.patch + Updated to reflect upstream hibernation logic refactor. + - py3-default + Updated for upstream change of python executable. + - hibinit-agent.system-sleep + Single file was not updated to install to usr/lib + * d/p/0011-Disable-Dracut-initramfs-rebuild.patch: do not rebuild + initramfs with dracut since we do not use dracut on cloud images + * d/p/0013-define-packages-within-setup.patch: Fix building sdist + by manually specifying where python code lives Notable upstream changes included in the new tarball include: - - 1.0.9: confirm `/dev/snapshot` exists before updating resume parameters again - - 1.0.8/1.0.8-1: refactoring for legibility, better termination behavior, service changes - - 1.0.7: btrfs support for swap handling - - 1.0.6: swap recreation improvements and conditional resume parameter updates + - 1.0.9: confirm `/dev/snapshot` exists before updating resume parameters again + - 1.0.8/1.0.8-1: refactoring for legibility, better termination behavior, service changes + - 1.0.7: btrfs support for swap handling + - 1.0.6: swap recreation improvements and conditional resume parameter updates ================ seeded-in-ubuntu ================ $ seeded-in-ubuntu ec2-hibinit-agent ec2-hibinit-agent's binaries are not seeded. ========== PPA builds ========== The package builds successfully for amd64 in a PPA: https://launchpad.net/~iacobp/+archive/ubuntu/junk-drawer/+packages ================== Additional testing ================== This package does not currently have upstream tests or autopkgtests. Testing performed so far has focused on package buildability and image-level validation in the EC2 image pipeline. - - The package builds successfully with the updated packaging. - - The package installs successfully from the test build. - - The package upgrade path was reviewed as part of the packaging refresh, - including use of the upstream systemd unit and shipping the required - `/var/lib/hibinit-agent` state directory. - - Image-level testing was run internal to cpc; these jobs are known to be historically - unstable for reasons not believed to be specific to this package, but this - update did not show a worse pass rate than the baseline. + - The package builds successfully with the updated packaging. + - The package installs successfully from the test build. + - The package upgrade path was reviewed as part of the packaging refresh, + including use of the upstream systemd unit and shipping the required + `/var/lib/hibinit-agent` state directory. + - Image-level testing was run internal to cpc; these jobs are known to be historically + unstable for reasons not believed to be specific to this package, but this + update did not show a worse pass rate than the baseline. =============================== Installation and testing on EC2 =============================== Requires an instance to be launched with an encrypted ami, an encrypted ebs volume attached, and hibernation enabled. ubuntu@ip-172-31-44-108:~$ sudo add-apt-repository -y ppa:iacobp/hibinit-agent [...] ubuntu@ip-172-31-44-108:~$ sudo apt update && sudo apt install -y ec2-hibinit-agent [...] ubuntu@ip-172-31-44-108:~$ systemctl status hibinit-agent ○ hibinit-agent.service - Initial hibernation setup job - Loaded: loaded (/usr/lib/systemd/system/hibinit-agent.service; enabled; preset: enabled) - Active: inactive (dead) since Wed 2026-03-25 05:39:22 UTC; 16s ago - Duration: 216ms - Invocation: 182a7d9bc5364772afaf895989ba86eb - Process: 2355 ExecStart=/usr/bin/hibinit-agent -c /etc/hibinit-config.cfg (code=exited, status=0/SUCCESS) - Main PID: 2355 (code=exited, status=0/SUCCESS) - Mem peak: 23M - CPU: 879ms + Loaded: loaded (/usr/lib/systemd/system/hibinit-agent.service; enabled; preset: enabled) + Active: inactive (dead) since Wed 2026-03-25 05:39:22 UTC; 16s ago + Duration: 216ms + Invocation: 182a7d9bc5364772afaf895989ba86eb + Process: 2355 ExecStart=/usr/bin/hibinit-agent -c /etc/hibinit-config.cfg (code=exited, status=0/SUCCESS) + Main PID: 2355 (code=exited, status=0/SUCCESS) + Mem peak: 23M + CPU: 879ms Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Found '/var/lib/hibinit-agent/hibernation-enabled', configuring hibernation Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Will check if swap is at least: 15783 megabytes Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: There's sufficient swap available (have 16550199296, need 16550199296) Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Running: swapon /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Updating the kernel offset for the swapfile: /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Updating GRUB to use the device /dev/nvme0n1p1 with offset 15433728 for resume Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Setting swap device to 66305 with offset 15433728 Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Done updating the swap offset. Turning swapoff Mar 25 05:39:22 ip-172-31-44-108 hibinit-agent[2355]: Running: swapoff /swap-hibinit Mar 25 05:39:22 ip-172-31-44-108 systemd[1]: hibinit-agent.service: Deactivated successfully. ubuntu@ip-172-31-44-108:~$ sudo apt install stress-ng [...] ubuntu@ip-172-31-44-108:~$ stress --cpu 1 [...] ubuntu@ip-172-31-44-108:~$ stress-ng --cpu 1 & disown [...] Hibernate instance from EC2 web console, wait for instance to stop, then start instance again ubuntu@ip-172-31-44-108:~$ uptime - 05:44:36 up 8 min, 2 users, load average: 0.90, 0.41, 0.16 + 05:44:36 up 8 min, 2 users, load average: 0.90, 0.41, 0.16 ubuntu@ip-172-31-44-108:~$ ps -aux |grep stress ubuntu 2908 0.0 0.0 79836 13512 pts/0 SL 05:40 0:00 stress-ng --cpu 1 ubuntu 2913 50.4 0.0 79836 8940 pts/0 R 05:40 2:07 stress-ng-cpu ubuntu 3151 0.0 0.0 7124 2540 pts/1 S+ 05:44 0:00 grep --color=auto stress - ==================== Regression potential ==================== The regression surface is limited because this package is not seeded in Ubuntu and is specific to AWS EC2 hibernation support, which is not enabled by default and requires the user to opt in before launching an instance. The main regression risk is in hibernation/resume integration on EC2 instances, particularly around: - - swapfile sizing/recreation logic - - resume offset handling - - grub integration for resume configuration - - interaction with systemd service startup + - swapfile sizing/recreation logic + - resume offset handling + - grub integration for resume configuration + - interaction with systemd service startup This upload also reduces risk by dropping a large number of downstream patches that are now upstreamed, and by adopting more of the upstream-maintained code and service definitions while keeping only the Ubuntu-specific deltas that are still needed. ====================== Additional information ====================== Merge proposal: https://code.launchpad.net/~iacobp/ubuntu/+source/ec2-hibinit-agent/+git/ec2-hibinit-agent/+merge/494866 Tracking bug: https://bugs.launchpad.net/ubuntu/+source/ec2-hibinit-agent/+bug/2129313 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2146289 Title: [FFE] Update ec2-hibinit-agent to 1.0.9 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ec2-hibinit-agent/+bug/2146289/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
