supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Steve Litt <slitt@troubleshooters.com>
To: supervision@list.skarnet.org
Cc: "Casper Ti. Vector" <caspervector@gmail.com>
Subject: Re: The "Unix Philosophy 2020" document
Date: Sat, 12 Oct 2019 14:58:59 -0400	[thread overview]
Message-ID: <20191012145859.1b568c45@mydesk.domain.cxm> (raw)
In-Reply-To: <20191012173743.drzlgnrw4hib6hh4@CasperVector>

On Sun, 13 Oct 2019 01:37:43 +0800
"Casper Ti. Vector" <caspervector@gmail.com> wrote:


> However, people told me that the document is not quite accessible to
> those who know really little about systemd: one example is they do not
> even know much about how the modules are organised in systemd, so the
> claim that the systemd architecture has how cohesion and high coupling
> may seem unfounded; 

Hi Casper,

About not knowing how systemd modules are organized: NOBODY knows that
except Poettering et. al. To my knowledge, there has never been
published a systemd block diagram with both the blocks and the
interaction lines between those blocks. Systemd "block diagrams" are
typically a bunch of blocks in layers, which indicates nothing about
how they're organized. So if you defined how the modules were
organized, as a block diagram, you would be the first.

Contrast this situation with sane init or supervision systems. Here's my
block diagram of daemontools:

http://www.troubleshooters.com/linux/djbdns/daemontools_intro.htm#daemontools_mental_model

If I were to modify that block diagram for runit, the "system boot" and
"inittab" would be replaced by runit-init, /etc/runit/1, and
/etc/runit/2, with the latter exec'ing (being replaced by) the runit
equivalent of svscanboot.

With my understanding of s6, if I were to modify it for s6, I'd have
the s6 PID1 do some initial stuff, then exec (be replaced by) an
executable that does exactly two things:

1) Listen for and act on appropriate signals
2) Supervise the s6 supervisor, which on my diagram is svscanboot.

So with s6, PID1 becomes a supervisor that supervises one program, the
main supervisor (did I finally get that right, Laurent?)

Look at the situation. For daemontools type stuff, a guy who is a
Troubleshooting Process Trainer, an office automation Programmer, a
tech writer and an author (in other words, NOT an expert on inits) can
draw a complete and reasonably accurate block diagram including
interaction lines, whereas with systemd the millions of dollars Red Hat
spends on the "best and brightest" to produce, maintain, and evangelize
systemd cannot produce such a diagram for systemd. This is telling.

So when the systemd fanboiz tell you that you haven't provided systemd
module interaction,  tell them that information is not available, and
that's excellent evidence of cohesion, high coupling, and gratuitous
complexity.

Here's another diagram I use when speaking to those who claim systemd
is modular because it has modules:

http://troubleshooters.com/linux/systemd/lol_systemd.htm

And when speaking with somebody knowledgeable enough to say that all
that gratuitous crosstalk goes through one channel, namely dbus, tell
them that doesn't matter a bit, because the crosstalk still happens.

SteveT
 
Steve Litt
Author: The Key to Everyday Excellence
http://www.troubleshooters.com/key
Twitter: http://www.twitter.com/stevelitt



  reply	other threads:[~2019-10-12 18:58 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190831130730.ki6ma7i5curucowe@caspervector>
     [not found] ` <em5af31b6f-4dd3-4a31-a6cf-beccb100238d@elzian>
     [not found]   ` <20190901091157.bjtfhqq6d2rg75yo@CasperVector>
2019-09-27  8:38     ` Casper Ti. Vector
2019-10-12 17:37       ` Casper Ti. Vector
2019-10-12 18:58         ` Steve Litt [this message]
2019-10-12 19:14           ` Casper Ti. Vector
2019-10-13  3:31         ` Casper Ti. Vector
2019-10-13  8:21         ` Oliver Schad
2019-10-13 13:57           ` Casper Ti. Vector
2019-12-08 17:04             ` Casper Ti. Vector
2019-10-14  6:35           ` Jens Rehsack
2019-10-22 15:33         ` Casper Ti. Vector
2019-10-22 16:54           ` Steve Litt
2019-10-22 17:07             ` Casper Ti. Vector
2019-11-17  6:26         ` Casper Ti. Vector
2019-11-17  7:28           ` Casper Ti. Vector
2019-11-24 20:13             ` Guillermo
     [not found]               ` <20191125025202.oqu4ennu3lexnxsa@caspervector>
2019-11-25  2:52               ` Casper Ti. Vector
2019-11-25 14:20                 ` Casper Ti. Vector
2019-11-30 12:13                   ` Jeff
2019-11-30 12:20                     ` Jeff
2019-11-30 12:45                       ` Jeff
2019-11-30 13:29                         ` Laurent Bercot
2019-11-30 14:43                           ` Casper Ti. Vector
2019-11-30 15:01                             ` Jeff
2019-11-30 15:48                               ` Casper Ti. Vector
2019-11-30 16:58                                 ` Jeff
2019-12-26 17:52           ` Casper Ti. Vector
2019-12-27  1:09             ` Oliver Schad
2019-12-27 11:11               ` Casper Ti. Vector
2019-12-27  2:57             ` Steve Litt
2019-12-27 13:54               ` Casper Ti. Vector
2019-12-27 15:37                 ` Casper Ti. Vector
2020-01-04  9:10                   ` Casper Ti. Vector
2020-01-04 18:25                     ` fungal-net
2020-01-05  0:36                       ` Casper Ti. Vector
2020-01-05  6:31                       ` Casper Ti. Vector
2020-01-05  6:54                         ` Casper Ti. Vector
2019-12-27 23:05                 ` Steve Litt
     [not found]               ` <20191227135411.jbtxorloetcvv5bx@caspervector>
     [not found]                 ` <20191227153719.2tt4bbidp3v7t23u@caspervector>
     [not found]                   ` <20200104091013.wesvxvcqxquc5n2h@caspervector>
2020-01-04 12:32                     ` Laurent Bercot
2019-12-27 21:29             ` Steve Litt
2019-12-27 23:34               ` Alex Suykov
2019-12-28 10:35               ` Casper Ti. Vector
2019-10-28 15:34       ` Avery Payne
2019-10-28 15:51         ` Casper Ti. Vector
     [not found]   ` <20190901091157.bjtfhqq6d2rg75yo@caspervector>
     [not found]     ` <20190927083816.tectynx7dzlfcvb7@caspervector>
     [not found]       ` <20191012173743.drzlgnrw4hib6hh4@caspervector>
     [not found]         ` <20191117062644.lt6wfmqwijqqhc5w@caspervector>
     [not found]           ` <20191226175258.o2nsregew6tlqlbu@caspervector>
2019-12-26 19:17             ` Laurent Bercot
2019-12-27 11:23               ` Casper Ti. Vector
2019-12-28  2:24                 ` Alex Suykov
2019-12-28  2:57                   ` eric vidal
2019-12-28 14:04                     ` Alex Suykov
2019-12-28 18:05                       ` Guillermo
2019-12-28 23:19                         ` Oliver Schad
2019-12-28 18:12                       ` Oliver Schad
2019-12-28 21:32                       ` eric vidal
2019-12-28  6:46                   ` Steve Litt
2019-12-28 13:37                     ` Alex Suykov
2019-12-28 13:54                       ` Casper Ti. Vector
2019-12-28 17:41                       ` Oliver Schad
2019-12-28 18:29                         ` Serge E. Hallyn
2019-12-28 23:16                           ` Oliver Schad
2019-12-28 21:31                         ` eric vidal
2019-12-29 16:07                         ` Alex Suykov
2019-12-29 20:32                           ` Oliver Schad
2019-12-28 10:26                   ` Casper Ti. Vector
     [not found]               ` <20191227112309.3fow6vynss2ifw4t@caspervector>
2019-12-27 12:32                 ` Laurent Bercot
2019-12-27 13:48                   ` Casper Ti. Vector
2019-12-27 23:54                   ` Oliver Schad
2019-12-27 23:56                     ` Oliver Schad
2019-12-28 15:19                       ` Guillermo
2019-12-28 18:16                         ` Oliver Schad
2019-12-28 20:44                   ` Laurent Bercot

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=20191012145859.1b568c45@mydesk.domain.cxm \
    --to=slitt@troubleshooters.com \
    --cc=caspervector@gmail.com \
    --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).