Subject: bug#26830: Allow services to implement a 'reload' action

From: Clément Lassieur <[email-masked]>
Date: Wed, 10 May 2017 21:31:58 +0200

Mathieu Othacehe <[email-masked]> writes:

>> Services do not have to implement 'reload' and if, say, foo-daemon
>> doesn't implement it, 'herd reload foo-daemon' will return 1 and display
>> a message saying that foo-deamon does not have an action 'reload'.
>> That's the reason of the #f default value.
>>
>> WDYT?
>
> Your whole serie LGTM for me !

Hi Mathieu, thanks for reviewing :)

> I have just one small concern, there is a already a "reload" action on
> shepherd root service.
>
> For instance you can call "herd reload root conf.scm".
>
> Maybe it will be unclear for users how reload action differs on root
> service where it takes an argument and guix services where it does not.

They don't differ: 'root' is just another service, as 'nginx' is.  Our
'reload' action can handle many arguments as well.  The only tiny
difference is that the 'root' service is implemented by Shepherd, not by
Guix.

> You could maybe mention that in the documentation and/or in the code ?

Sure, I updated the documentation.  I had forgotten the "Shepherd
Services" part and I think it helps understanding.  But I didn't talk
about the 'root' service because it is a Shepherd thing and is already
described in the Shepherd manual.

WDYT?