GNU bug report logs - #33508
[PATCH] gnu: Add ability to restart services on system reconfigure

Previous Next

Package: guix-patches;

Reported by: Carlo Zancanaro <carlo <at> zancanaro.id.au>

Date: Mon, 26 Nov 2018 11:42:01 UTC

Severity: normal

Tags: patch

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

Bug is archived. No further changes may be made.

Full log


Message #35 received at 33508 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Carlo Zancanaro <carlo <at> zancanaro.id.au>
Cc: 33508 <at> debbugs.gnu.org
Subject: Re: [bug#33508] [PATCH] gnu: Add ability to restart services on
 system reconfigure
Date: Sat, 05 Jan 2019 15:00:07 +0100
Hi Carlo,

Carlo Zancanaro <carlo <at> zancanaro.id.au> skribis:

> Sorry for not responding to this email for so long. I've been trying
> to think through some of the issues around this, and I'm not confident
> that I have thought through the issues well enough to actually decide
> on a good course of action, beyond what I have already written. I'll
> respond to a few specific things in your message, but I don't even
> know what a good solution would look like, let alone how to build it.

Sure, we can take more time to think through it.  You earlier work in
this area has already greatly improved the situation so I feel less
pressure now.

> I did some research into nginx, and it turns out that it is possible
> to upgrade nginx with zero-downtime by running two daemons
> simultaneously listening on the same port(s), then shutting down the
> old daemon after the new one has successfully started[1]. This allows
> for an "uninterrupted" upgrade, but I'm not confident that I would be
> able to implement it within our current framework.

Nginx does all this for us.  Basically if you run “nginx -s restart”,
IIRC, it automatically does the multi-process dance and you eventually
end up with only upgraded nginx processes.  However it relies on being
able to read its new configuration file from the same location as
before, which is something that doesn’t quite work in our setting,
unless we make the file available at a fixed location like
/etc/nginx.conf.  Clément looked into this a while back but I cannot
find the reference.

Anyway I think we should probably special-case the ‘restart’ action for
those live-upgradable services.  That doesn’t require any change in the
Shepherd.

Thoughts?

Ludo’.




This bug report was last modified 2 years and 19 days ago.

Previous Next


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