unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Attila Lendvai <attila@lendvai.name>
Cc: 53580@debbugs.gnu.org
Subject: bug#53580: shepherd's architecture
Date: Tue, 06 Jun 2023 17:16:01 +0200	[thread overview]
Message-ID: <87v8g07ham.fsf@gnu.org> (raw)
In-Reply-To: <Jf0lcTW5Lw4gnNDSPsv037iYNAMvK28S6tL4Zh0FdGp7nnQCgCD_uITYxJ4PFxqKkaS5CUH_7mUucz2tvKVJKdQt2uhizTDQaiJ0Jup2wbs=@lendvai.name> (Attila Lendvai's message of "Sat, 27 May 2023 10:33:41 +0000")

Hi Attila,

Attila Lendvai <attila@lendvai.name> skribis:

> [forked from: bug#53580: /var/run/shepherd/socket is missing on an otherwise functional system]
>
>> So I think we’re mostly okay now. The one thing we could do is load
>> the whole config file in a separate fiber, and maybe it’s fine to keep
>> going even when there’s an error during config file evaluation?
>>
>> WDYT?
>
>
> i think there's a fundamental issue to be resolved here, and addressing that would implicitly resolve the entire class of issues that this one belongs to.
>
> guile (shepherd) is run as the init process, and because of that it may not exit or be respawn. but at the same time when we reconfigure a guix system, then shepherd's config should not only be reloaded, but its internal state merged with the new config, and potentially even with an evolved shepherd codebase.

Sorry to be direct: is there a concrete bug you’re reporting here?

> i still lack a proper mental model of all this to succesfully predict what will happen when i `guix system reconfigure` after i `guix pull`-ed my service code, and/or changed the config of my services.

What happens is that ‘guix system reconfigure’ loads new services into
the running shepherd.  New services simply get started; services for
which a same-named service is already running instead get registered as
a “replacement”, meaning that the new version of the service only gets
started when the user explicitly runs ‘herd restart SERVICE’.

Non-stop upgrades is ideal, but shepherd alone cannot do that.  For
instance, nginx supports that, and no init system could implement that
on its behalf.

Ludo’.




  parent reply	other threads:[~2023-06-06 15:17 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-27 11:32 bug#53580: /var/run/shepherd/socket is missing on an otherwise functional system Attila Lendvai
2022-01-27 12:13 ` bug#53580: (No Subject) Attila Lendvai
2022-02-01 11:06   ` Efraim Flashner
2022-02-01 19:28 ` bug#53580: /var/run/shepherd/socket is missing on an otherwise functional system Maxime Devos
2022-04-04  7:15   ` Attila Lendvai
2023-05-18 20:12 ` Ludovic Courtès
2023-05-27 10:33 ` bug#53580: shepherd's architecture Attila Lendvai
     [not found]   ` <Fe3OtPtYH2PHkXerCVPLsOIdvUw04jv5hYL_lms1t-V-JQ8vTvdHyu7Lk-PYfYIBns96NX34wxf8Yb3uNiiPGQzOMjB2hO7_yn3lrILV6fA=@lendvai.name>
2023-05-29 14:46     ` Brian Cully via Bug reports for GNU Guix
2023-06-06 15:16   ` Ludovic Courtès [this message]
2023-06-08 12:54     ` Csepp
2023-06-08 20:56     ` Attila Lendvai
2023-06-11 14:16       ` bug#53580: /var/run/shepherd/socket is missing on an otherwise functional system Ludovic Courtès
2023-06-11 14:18 ` 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=87v8g07ham.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=53580@debbugs.gnu.org \
    --cc=attila@lendvai.name \
    /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).