supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
To: Adrian Chadd <adrian@freebsd.org>,
	Supervision <supervision@list.skarnet.org>,
	FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject: Re: Linuxisms in s6
Date: Sat, 27 Aug 2016 17:37:14 +0100	[thread overview]
Message-ID: <cf1cbc74-d4f3-3522-68a2-603c00539cd6@NTLWorld.com> (raw)
In-Reply-To: <CAJ-Vmo=1mLANmtOhXS9v1h5tVHt+jMPvge2A5Pb_zLGP7mLvAw@mail.gmail.com>

Adrian Chadd:

> Sure, but I'm looking for something more generic than just devd. Like, 
> notifications about events like "default route is up" can be done by 
> sniffing the rtsock, but notifications like "ntpdate has updated the 
> date, we can now do crypto services" doesn't happen there right now.
>
You're reinventing upstart.  The lesson of upstart is that whilst the 
event-driven paradigm looks like the bright shiny future, once one gets 
down to the details it is a lot harder than it at first appears.  I 
strongly recommended learning about upstart, and especially learning the 
problems that people hit with it, to anyone going down the same route.  
The Debian systemd Hoo-Hah had some lengthy discussion of upstart.

(I regret not having bookmarked the discussion that I once came across, 
where someone opined that xe preferred systemd to upstart because at a 
Linux conference the systemd presentation had been exciting and had been 
put forward as the wave of the future, where upstart had been presented 
as old-school, traditional, and boring.  Ironically, this person wasn't 
aware that the designs are exactly the opposite of that.  upstart has 
the novel event-driven design where the system is configured with the 
information that event A triggers programs P, Q, and R, and the system 
starts by raising a "first event", that runs programs, that raise 
further events, that run further programs.  Whereas it is systemd that 
has the conventional design, shared by Mewburn rc and others, of 
starting from a goal, working through a dependency tree, and doing 
topological sorts.)

The Debian people chose to improve a non-event-driven architecture 
instead.  It's a lesson to be learned from SMF, in fact.  One can have a 
lot more additional abstract targets, such as "/milestone/name-services" 
and "/milestone/system-clock", and dependencies to and from them.  The 
world is not 2 to 4 run levels plus "DAEMON", "NETWORKING", and "$local-fs".

That said, something like this hypothetical "/milestone/system-clock" is 
a milestone that would need to be reached *very* early on in the 
bootstrap process.  Fixing up the clock is something that both the nosh 
system manager and systemd handle themselves directly, outwith of 
service management.  More on this in a moment.

_______________________________________________
freebsd-hackers@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  parent reply	other threads:[~2016-08-27 16:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-25  4:53 Jonathan de Boyne Pollard
2016-08-25  9:56 ` Jan Bramkamp
2016-08-25 15:46 ` Adrian Chadd
2016-08-25 19:48   ` Lars Engels
2016-08-25 21:08     ` Adrian Chadd
2016-08-25 21:13       ` Warner Losh
2016-08-25 21:17         ` Adrian Chadd
2016-08-26 10:44           ` Jan Bramkamp
2016-08-26 14:11             ` Warner Losh
2016-08-27 16:37       ` Jonathan de Boyne Pollard [this message]
2016-08-28  1:58         ` Adrian Chadd
2016-08-27 13:38   ` Jonathan de Boyne Pollard
2016-08-27 16:51   ` Jonathan de Boyne Pollard

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=cf1cbc74-d4f3-3522-68a2-603c00539cd6@NTLWorld.com \
    --to=j.deboynepollard-newsgroups@ntlworld.com \
    --cc=adrian@freebsd.org \
    --cc=freebsd-hackers@freebsd.org \
    --cc=supervision@list.skarnet.org \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).