unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Maxime Devos <maximedevos@telenet.be>, 55898@debbugs.gnu.org
Subject: bug#55898: Services depending on new Shepherd features may fail until reboot
Date: Thu, 01 Sep 2022 09:18:01 -0400	[thread overview]
Message-ID: <87tu5r8c8m.fsf@gmail.com> (raw)
In-Reply-To: <878rn6423p.fsf@gnu.org> ("Ludovic Courtès"'s message of "Tue, 30 Aug 2022 09:33:46 +0200")

Hi,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Maxim,
>
> Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>
>> Agreed, but the context differs wildly: while Autoconf or browsers for
>> example really are facing a diversity of configuration, the version of
>> Shepherd used in Guix System is known and controlled.  So the only
>> problems bound to happen are in this context:
>>
>> 1. New Shepherd version introduced in Guix (package upgrade).
>>
>> 2. New Shepherd features used by services.
>>
>> 3. Machine reconfigured using a commit including 1 and 2.
>>
>> The problems are temporary: upon a reboot the running Shepherd version
>> will be the latest, and have all the features needed.
>>
>> Hence my suggestion to use something simple to improve the user
>> experience of a user faced with 3.
>
> So are you suggesting replacing:
>
>   (defined? 'make-inetd-constructor)
>
> by something like:
>
>   (version<? shepherd-version "0.9.0")
>
> or is it something different that you have in mind?

I had something different on mind; I was thinking of some added field to
our shepherd-service object where the minimal version of Shepherd
required could be specified, e.g. "0.9.1".

The check could be abstracted in the shepherd-service implementation,
avoiding services writers to handle that by themselves in *each* service
requiring so.

The benefit would be an improved user experience, and cleaner service
code.  Upon reconfiguring a machine not yet equipped with a new enough
Shepherd, Shepherd could print:

--8<---------------cut here---------------start------------->8---
The x, y and z services won't be started until the next reboot, as they
require a newer Shepherd version.
--8<---------------cut here---------------end--------------->8---

Instead of seeing the new services fail to run without (for the end
user) without any obvious reason.

Does that make sense?

Thanks,

Maxim




  parent reply	other threads:[~2022-09-01 13:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-11  5:53 bug#55898: jami service failing following 'guix deploy' update Maxim Cournoyer
2022-06-11 14:51 ` Maxime Devos
2022-06-14 19:40   ` Maxim Cournoyer
2022-06-24 17:52     ` Maxim Cournoyer
2022-06-24 18:01     ` bug#55898: jami service failing following reconfigure Maxim Cournoyer
2022-07-06 21:38       ` bug#55898: jami service failing following 'guix deploy' update Maxim Cournoyer
2022-07-06 22:01         ` Maxim Cournoyer
2022-07-20 21:19           ` bug#55898: Services depending on new Shepherd features may fail until reboot Ludovic Courtès
2022-07-21  4:10             ` Maxim Cournoyer
2022-08-29 13:43               ` Ludovic Courtès
2022-08-29 21:06                 ` Maxim Cournoyer
2022-08-30  7:33                   ` Ludovic Courtès
2022-08-30  9:35                     ` Maxime Devos
2022-08-30 13:50                       ` Ludovic Courtès
2022-09-01 13:18                     ` Maxim Cournoyer [this message]
2022-09-01 13:28                       ` Maxime Devos
2022-09-01 13:51                       ` Ludovic Courtès
2022-09-01 19:16                         ` Maxim Cournoyer
2022-09-02  9:10                           ` Ludovic Courtès

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87tu5r8c8m.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=55898@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=maximedevos@telenet.be \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).