GNU bug report logs - #74678
[PATCH] services: admin: Improve use of unattended-upgrade reboot? field.

Previous Next

Package: guix-patches;

Reported by: Richard Sent <richard <at> freakingpenguin.com>

Date: Tue, 3 Dec 2024 23:30:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#74678: closed ([PATCH] services: admin: Improve use of
 unattended-upgrade reboot? field.)
Date: Mon, 09 Dec 2024 21:56:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 09 Dec 2024 22:55:48 +0100
with message-id <87bjxkldwb.fsf <at> gnu.org>
and subject line Re: [bug#74678] [PATCH] services: admin: Improve use of unattended-upgrade reboot? field.
has caused the debbugs.gnu.org bug report #74678,
regarding [PATCH] services: admin: Improve use of unattended-upgrade reboot? field.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
74678: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74678
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Richard Sent <richard <at> freakingpenguin.com>
To: guix-patches <at> gnu.org
Cc: Richard Sent <richard <at> freakingpenguin.com>
Subject: [PATCH] services: admin: Improve use of unattended-upgrade reboot?
 field.
Date: Tue,  3 Dec 2024 18:28:13 -0500
This ensures the unattended upgrade job successfully reboots regardless of the
value for services-to-restart. Previously the mcron service may be restarted
which would halt script execution before the system rebooted.

* gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart
services when reboot? is #t.
* doc/guix.texi (Unattended Upgrades): Document it.

Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00
---
Hi all,

I noticed my server would not reboot automatically until I set
services-to-restart to '() (default value: '(mcron)). This patch
should make unattended-upgrade easier to use for those who don't want
to dive into the code.

 doc/guix.texi          |  4 ++++
 gnu/services/admin.scm | 10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 26488b41c8..5f4fded753 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23268,6 +23268,10 @@ Unattended Upgrades
 This field specifies whether the system should reboot after completing
 an unattended upgrade.
 
+When @code{reboot?} is @code{#t}, services are not restarted before
+rebooting.  This means that the value for @code{services-to-restart} is
+ignored.  The updated services will be started after the system reboots.
+
 @item @code{services-to-restart} (default: @code{'(mcron)})
 This field specifies the Shepherd services to restart when the upgrade
 completes.
diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm
index 4882883878..24ff659a01 100644
--- a/gnu/services/admin.scm
+++ b/gnu/services/admin.scm
@@ -512,11 +512,13 @@ (define (unattended-upgrade-mcron-jobs config)
                       #$(string-append (number->string expiration)
                                        "s")))
 
-            (format #t "~a restarting services...~%" (timestamp))
-            (for-each restart-service '#$services)
+            (unless #$reboot?
+              ;; Rebooting effectively restarts services anyway and execution
+              ;; would be halted here if mcron is restarted.
+              (format #t "~a restarting services...~%" (timestamp))
+              (for-each restart-service '#$services))
 
-            ;; XXX: If 'mcron' has been restarted, perhaps this isn't
-            ;; reached.
+            ;; XXX: If 'mcron' has been restarted, this is not reached.
             (format #t "~a upgrade complete~%" (timestamp))
 
             ;; Stopping the root shepherd service triggers a reboot.

base-commit: 8a28ba76126cbbd2a6d61e864f576e7a7bd7a763
-- 
2.46.0



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Richard Sent <richard <at> freakingpenguin.com>
Cc: 74678-done <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#74678] [PATCH] services: admin: Improve use of
 unattended-upgrade reboot? field.
Date: Mon, 09 Dec 2024 22:55:48 +0100
Richard Sent <richard <at> freakingpenguin.com> skribis:

> This ensures the unattended upgrade job successfully reboots regardless of the
> value for services-to-restart. Previously the mcron service may be restarted
> which would halt script execution before the system rebooted.
>
> * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart
> services when reboot? is #t.
> * doc/guix.texi (Unattended Upgrades): Document it.
>
> Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00
> ---
> Hi all,
>
> I noticed my server would not reboot automatically until I set
> services-to-restart to '() (default value: '(mcron)). This patch
> should make unattended-upgrade easier to use for those who don't want
> to dive into the code.

Good catch.  Applied, thanks!

Ludo’.


This bug report was last modified 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.