public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Jonas Theisen <j.theisen@proxmox.com>
To: Thomas Lamprecht <t.lamprecht@proxmox.com>, pve-devel@lists.proxmox.com
Subject: Re: [PATCH kernel-helper] kernel hooks: flag pending reboot after installing a new kernel
Date: Wed, 14 Oct 2026 11:37:27 +0200	[thread overview]
Message-ID: <fd924ae3-045d-438e-a2af-5329a172604c@proxmox.com> (raw)
In-Reply-To: <90364d0b-95b7-4aaf-bb43-ff10dad3eb7e@proxmox.com>

On 10/14/26 10:35, Thomas Lamprecht wrote:
> Am 13.10.26 um 13:47 schrieb Jonas Theisen:
>> Ship a postinst.d hook that writes /run/reboot-required and records
>> the kernel package in /run/reboot-required.pkgs, similar to
>> the hooks shipped by unattended-upgrades on Debian and
>> update-notifier on Ubuntu. Tools like needrestart or monitoring checks
>> can then notice that the newly installed kernel is not running yet,
>> without requiring one of those packages to be installed.
> Any reference to those docs/code/... that describe these file (paths)
> would be appreciated here.

 From https://github.com/mvo5/unattended-upgrades

unattended-upgrade:

105 REBOOT_REQUIRED_FILE = "/var/run/reboot-required"
[...]
867 def reboot_required():
868     # type: () -> bool
869     return os.path.isfile(REBOOT_REQUIRED_FILE)

kernel/postinst.d/unattended-upgrades:

  8 if [ -d /var/run ]; then
  9     touch /var/run/reboot-required
10     if ! grep -q "^$DPKG_MAINTSCRIPT_PACKAGE$" 
/var/run/reboot-required.pkgs 2> /dev/null ; then
11         echo "$DPKG_MAINTSCRIPT_PACKAGE" >> /var/run/reboot-required.pkgs
12     fi
13 fi

 From https://github.com/liske/needrestart

data/update-motd-reboot-required

  5 if [ -f /var/run/reboot-required ]; then
  6         cat /var/run/reboot-required
  7 fi

Since `/var/run` is just a symlink to `/run` i figured we should use
the current specification.

Should i also include these refs in the commit message?

*snip*

>> +++ b/src/proxmox-boot/proxmox-reboot-required
>> @@ -0,0 +1,19 @@
>> +#! /bin/sh
>> +set -e
>> +
>> +# Flag that a reboot is needed to boot the newly installed kernel, following the convention used by
>> +# update-notifier and unattended-upgrades, so that tools like needrestart or monitoring checks
>> +# notice it. Reconfiguring the currently running kernel does not require a reboot.
>> +
>> +version="$1"
>> +
>> +[ -n "$version" ] || exit 0
>> +[ "$version" != "$(uname -r)" ] || exit 0
>> +[ -d /run ] || exit 0
>> +
>> +pkg="${DPKG_MAINTSCRIPT_PACKAGE:-proxmox-kernel-$version}"
>> +
>> +echo "*** System restart required ***" > /run/reboot-required
> That's always truncating any existing reboot-required file though?
> Or doesn't that matter because it will be either not there or contain
> exactly this string? In any case, needs either fixing or mentioning
> that its fine in the commit message and maybe even a short

According to my understanding of this files usage it is just checked
for existence and printed in the motd. The content seems to be irrelevant.

> Let's also use printf over echo, avoids various edge cases and makes
> trailing newline and parameter handling more explicit.
>
>> +if ! grep -qxF "$pkg" /run/reboot-required.pkgs 2>/dev/null; then
>> +	echo "$pkg" >> /run/reboot-required.pkgs
> same here w.r.t. using printf.

Ack! Will fix that on both occurrences. Thanks!




  reply	other threads:[~2026-10-14  9:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13 11:46 [PATCH kernel-helper] kernel hooks: flag pending reboot after installing a new kernel Jonas Theisen
2026-10-14  8:35 ` Thomas Lamprecht
2026-10-14  9:37   ` Jonas Theisen [this message]
2026-10-14  9:52     ` Thomas Lamprecht
2026-10-14 10:16       ` Jonas Theisen
2026-10-14 10:42         ` Jonas Theisen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fd924ae3-045d-438e-a2af-5329a172604c@proxmox.com \
    --to=j.theisen@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    --cc=t.lamprecht@proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal