help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: add shepherd requirement to an existing service?


From: Remco van 't Veer
Subject: Re: add shepherd requirement to an existing service?
Date: Tue, 12 Mar 2024 11:25:18 +0100
User-agent: mu4e 1.10.8; emacs 29.1

Hi Oleg,

2024/03/11, Oleg Pykhalov:

>> I'd like to add a shepherd requirement to an existing service, as
>> provided by guix, to prevent it from starting before some other service
>> starts.
>>
>> For exampple: I have NAS which is very slow to start after a power
>> failure so I created a simple service to keep trying to mount an NFS
>> share until it succeeds.  This share contains files shared through
>> syncthing, so I want syncthing to start after the NFS service is
>> started.
>
> How do you mount the NFS share? From my understanding, system services
> typically wait for all mounts listed in 'file-systems' to be mounted
> unless 'mount?' is specifically set to false.

I tried the file-systems declaration about a year ago but found it
didn't work all the time when automatically booting after a power
failure.  There's also routers and stuff booting at the same time so
the order of things may have been an issue.  Anyway, a simple service
trying to mount until it succeeds works pretty reliably.

>> Is there any way to do this apart from defining my own
>> syncthing-shepherd-service which includes the extra shepherd
>> requirement?
>
> To my knowledge, unless the service definition explicitly allows for it,
> there may not be an alternative approach aside from creating a custom
> syncthing-shepherd service that incorporates the additional shepherd
> requirement.

I was afraid so.  There may be other situations where I'd like some
home grown service to startup before another pre-existing one, so maybe
this should be a feature request, if others are also running into this.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]