Re: Built-in ordering

From: Steve Litt <slitt_at_troubleshooters.com>
Date: Sun, 20 Sep 2015 13:29:22 -0400

On Sun, 20 Sep 2015 18:41:15 +0200
Laurent Bercot <ska-supervision_at_skarnet.org> wrote:

> On 20/09/2015 18:26, Steve Litt wrote:
>
> > Of course, all this could be avoided the LittKit way and just run a
> > script depositing "down" files before running the supervisor. But
> > the LittKit way specifically defies Laurent's proposal that PID1 be
> > able to restart the supervisor (I think).
>
> I don't know exactly how LittKit does things, but "depositing ./down
> files" is the way s6-rc proceeds internally. It does not go against
> the principle of the supervision tree being able to restart the
> service, because only services that are supposed to be down have
> a ./down file.

I spoze you're right. If PID1 can restart rc.supervise, and
rc.supervise deposits down files and then exec's the supervisor, it
fulfills your requirements.


> The state where everything is down is temporary, at
> start; then the service manager removes ./down files one by one as it
> brings up the services.

What you describe is pretty much how LittKit operates, except with
LittKit there must be one service directory not containing a down file,
or nothing will operate: In other words, the initial service (which is
a oneshot) removes the down files in a specific order, as well as
inserting any necessary delays, and IIRC on one occasion actually
looping while a specific service became responsive.

>
> PID 1 being able to restart the supervisor is something else: it's
> the reason why I disagree with your choice of suckless init.

You and I have different use cases, which causes me to prioritize PID1
respawning supervision much less than you prioritize it. If my desktop
computer terminated into a kernel panic of just became totally
unresponsive, I'd power it off, power it back on, and fsck. However, if
I were running an airline reservation system on my computer, I wouldn't
be so cavalier in dismissing the destruction wrought by everything
except PID1 terminating.

In other words, for heavy industrial work, I'd use s6 and leave
Suckless-Init behind.

SteveT

Steve Litt
August 2015 featured book: Troubleshooting: Just the Facts
http://www.troubleshooters.com/tjust
Received on Sun Sep 20 2015 - 17:29:22 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC