From: ludo@gnu.org (Ludovic Courtès)
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: 26830@debbugs.gnu.org, "Clément Lassieur" <clement@lassieur.org>
Subject: [bug#26830] Allow services to implement a 'reload' action
Date: Thu, 12 Jul 2018 00:00:00 +0200 [thread overview]
Message-ID: <87bmbdigbj.fsf@gnu.org> (raw)
In-Reply-To: <87vap7kryj.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 11 May 2017 23:24:04 +0200")
Hello!
ludo@gnu.org (Ludovic Courtès) skribis:
> The logical next step of this series will be to have the service upgrade
> code in ‘guix system reconfigure’ invoke this action when it is defined.
> That will be awesome.
>
> Some comments:
>
> + #:actions (make-actions
> + (reload
> + "Reload the service's configuration files."
> + #$(shepherd-service-reload service))))))))
>
> Here I think we should only define the action when it has a non-#f
> value. That way we can distinguish between services that have a useful
> reload/reconfigure/upgrade action and those that don’t; in the latter
> case, we simply use ‘restart’ when upgrading.
>
> Regarding nginx:
>
> + (stop (nginx-action "-s" "stop"))
> + (reload (nginx-action "-s" "reload"))))))))
>
> Is this of any use in practice? The nginx command line is something
> like:
>
> /gnu/store/74kz9m850ycxpzkg6dvn9wbd3xjkwwrb-nginx-1.12.0/sbin/nginx -c /gnu/store/5w11ahw113fndvab3xmwcjzs2rw56sbh-nginx-config/bayfront.conf -p /var/run/nginx
>
> and the configuration file in /gnu/store is immutable, so “nginx -s
> reload” does nothing. If the action took an argument, we could do:
>
> herd reconfigure nginx /gnu/store/…-new-config.conf
>
> which would translate to:
>
> nginx -s reload -c /gnu/store/…-new-config.conf
FWIW, with the patch at <https://bugs.gnu.org/32128>, adding such
actions becomes easy (it’s a generalization of what you did in this
patch series.)
Ludo’.
next prev parent reply other threads:[~2018-07-11 22:01 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-08 15:25 bug#26830: Allow services to implement a 'reload' action Clément Lassieur
2017-05-08 15:28 ` bug#26830: [PATCH 1/4] services: shepherd: " Clément Lassieur
2017-05-08 15:28 ` bug#26830: [PATCH 2/4] gnu: services: nginx: Add " Clément Lassieur
2017-05-08 15:28 ` bug#26830: [PATCH 3/4] gnu: services: prosody: " Clément Lassieur
2017-05-08 15:28 ` bug#26830: [PATCH 4/4] gnu: services: dovecot: " Clément Lassieur
2017-05-09 15:37 ` bug#26830: Allow services to implement " Mathieu Othacehe
2017-05-10 19:31 ` bug#26830: [PATCH] services: shepherd: " Clément Lassieur
2017-05-11 7:13 ` Clément Lassieur
2017-05-11 12:40 ` Clément Lassieur
2017-05-11 12:57 ` Mathieu Othacehe
2017-05-10 19:31 ` bug#26830: " Clément Lassieur
2017-05-11 21:24 ` Ludovic Courtès
2017-05-11 23:08 ` Clément Lassieur
2017-05-12 8:25 ` Ludovic Courtès
2017-05-12 8:57 ` Clément Lassieur
2018-01-28 20:34 ` [bug#26830] " Danny Milosavljevic
2018-01-28 23:23 ` Clément Lassieur
2018-07-11 22:00 ` Ludovic Courtès [this message]
2018-07-12 13:06 ` Clément Lassieur
2022-03-23 12:56 ` zimoun
2022-03-24 8:41 ` Ludovic Courtès
2022-03-24 13:52 ` Oleg Pykhalov
2022-03-26 20:46 ` Ludovic Courtès
2022-03-26 21:14 ` Maxime Devos
2022-03-29 13:36 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bmbdigbj.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=26830@debbugs.gnu.org \
--cc=clement@lassieur.org \
--cc=m.othacehe@gmail.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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.