[Bug 1747499] Re: 98-reboot-required and Interaction with livepatch
Olivier Gayot
1747499 at bugs.launchpad.net
Mon May 16 12:44:19 UTC 2022
Trying to validate this upload but unattended-upgrades failed to build
with:
Applying pinning: PkgFilePin(id=0, priority=-32768)
Applying pin -32768 to package_file: <apt_pkg.PackageFile object: filename:'/<<PKGBUILDDIR>>/test/root.unused-deps/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-amd64_Packages' a=lucid-updates,c=main,v=10.04,o=Ubuntu,l=Ubuntu arch='amd64' site='archive.ubuntu.com' IndexType='Debian Package Index' Size=106 ID:0>
Using (^linux-image-[1-9][0-9]*\.[0-9]+\.[0-9]+-[0-9]+(-.+)?$|^.*-modules-[1-9][0-9]*\.[0-9]+\.[0-9]+-[0-9]+(-.+)?$|^linux-headers-[1-9][0-9]*\.[0-9]+\.[0-9]+-[0-9]+(-.+)?$) regexp to find kernel packages
Using (^linux-image-5\.4\.0\-109\-generic$|^linux-image-5\.4\.0\-109$|^.*-modules-5\.4\.0\-109\-generic$|^.*-modules-5\.4\.0\-109$|^linux-headers-5\.4\.0\-109\-generic$|^linux-headers-5\.4\.0\-109$) regexp to find running kernel packages
{'old-unused-dependency', 'any-old-unused-modules'}
Keeping auto-removable test-package-dependency package(s) because it would also remove the following packages which should be kept in this step: old-unused-dependency
The following packages are marked for installation or upgrade which is not allowed when performing autoremovals: forbidden-dependency
.
======================================================================
FAIL: test_remove_unused_dependencies_new_unused_only (__main__.TestRemoveUnused)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./test_remove_unused.py", line 164, in test_remove_unused_dependencies_new_unused_only
self.assertTrue(needle_kernel_good in haystack,
AssertionError: False is not true : Can not find 'Removing unused kernel packages: linux-image-4.05.0-1021-kvm
' in '2022-05-10 20:56:21,336 INFO Starting unattended upgrades script
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to unattended-upgrades in Ubuntu.
https://bugs.launchpad.net/bugs/1747499
Title:
98-reboot-required and Interaction with livepatch
Status in unattended-upgrades package in Ubuntu:
Fix Released
Status in update-notifier package in Ubuntu:
Fix Released
Status in unattended-upgrades source package in Focal:
Fix Committed
Status in update-notifier source package in Focal:
Fix Committed
Bug description:
[Impact]
* If a system is using canonical livepatch, has it enabled, and
patches are applied, it could be confusing for a user to receive a
"system restart required" messages in the MOTD when logging in.
* Livepatch is available on LTS releases. Thus, the users can be
confused following a kernel update on 20.04.
* The upload prevents update-notifier and unattended-ugprades hooks from adding "system restart"-related messages to motd when Livepatch is enabled.
Livepatch, when enabled, already contributes to the motd message so there is no need to have duplicate (and sometimes contradictory) information.
[Test Plan]
* how to reproduce the bug:
1. Install and boot a 20.04 server VM
2. Make sure it runs a generic kernel (or another flavour that supports Livepatch)
3. Enable Livepatch using the following command:
$ ua attach <token> # replace <token> by an actual contract token
4. Upgrade the kernel (if you are already running the latest available kernel update, you can install a different flavour)
5. Upon logging in again, the motd will show ***System restart required***.
* other testing appropriate to perform before landing this update:
* Making sure that the patch has no impact when livepatch is not enabled.
* The motd should show ***System restart required*** after upgrading the kernel if livepatch is not enabled.
[Where problems could occur]
* The change updates a hook script in /etc/kernel/postinst.d/.
Scripts in this directory are executing when upgrading / installing a
kernel. If somehow the script is broken, it can prevent dpkg for
succeeding when upgrading / installing the kernel.
* If the implementation is wrong, we might end up "losing" the
***System restart required*** message when livepatch is disabled
[Original bug description]
If a system is using canonical livepatch, has it enabled, and patches
are applied, it could be confusing for a user to receive a "system
restart required" messages in the MOTD when logging in.
That message, when present, is printed by 98-reboot-required which
essentially just cats /var/run/reboot-required to stdout. That file is
placed by packages that require a reboot so that they are properly
used in their updated versions. Examples that come to mind are libc
and the kernel.
There is a secondary file that can be created which says which
packages requested the reboot. That would be /var/run/reboot-
required.pkgs
Ideally that script should not print out the reboot required message
if a) livepatch is installed and enabled; b) the only trigger for the
reboot is a kernel update.
For (a), one can use the command "ubuntu-advantage is-livepatch-
enabled" and check $?. That is in the ubuntu-advantage-tools package.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1747499/+subscriptions
More information about the foundations-bugs
mailing list