supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: mobinmob <mobinmob@disroot.org>
To: supervision@list.skarnet.org
Subject: Re: possible s6-rc redesign
Date: Wed, 2 Sep 2020 12:41:05 +0300	[thread overview]
Message-ID: <3f51fff7-7e1c-3718-4b58-2f464cac4eb4@disroot.org> (raw)
In-Reply-To: <emb60cf5a4-49c0-41cd-8afa-96dbcfd1fffd@elzian>


On 2/9/20 1:20 π.μ., Laurent Bercot wrote:
>> 1. There is one **huge** disadvantage for the second option. It is not a
>> technical one, so it may carry little weight on your final decision.
>> There already different implementations of init systems based on 
>> s6/s6-rc,
>> some of them successfully used on distributions. They will almost 
>> certainly
>> have to be abandoned or rewritten to function with the redesigned suite.
>> The first option will allow these implementations to augment what 
>> they offer
>> with minimal or no disruption for their users and developers.
>
>  You may have missed the part where I'm saying that the current version
> of s6-rc will still be supported for a *long time*. I would also try,
> obviously, to make the conversion to the new format as painless as
> possible; ideally (but I don't know yet whether it's an attainable goal),
> the source directories would have the exact same format as long as only
> static services are defined - so tools using s6-rc-0.x would still work
> with basically no changes.
>
If long term support is guaranteed and a smooth transition path is provided
then any concern I have suddenly dissipates :p

>> 2. Which distributions or groups of distributions will find the 
>> redesign appealing, so that they will adopt it ?
>> IMHO distributions that use systemd are not likely to change in the 
>> foreseeable future,
>
>  And they definitely won't, if nothing challenges systemd. But
> providing the same level of functionality as systemd (as far as the
> init system is concerned, I'm not talking about all the tendrils it sends
> into various parts of running a Linux machine) with a better design, that
> is not completely alien to what those distros are used to, is the only
> way to - someday - have a chance at challenging systemd.
>

There are two issues here...

1. In order to provide the -sane- functionality of systemd, a system
needs to use linux-only interfaces. I am absolutely not saying that cgroups,
namespaces etc should be tightly integrated to a service manager/init 
system.
Most of the work can be done on dedicated programs but they are needed
if the goal is feature-parity...
2. Distributions that use systemd are slowly depending more and more on
these tendrils (great analogy btw :P). I do not think they will make the 
effort
to get rid of them or provide alternate mechanisms to facilitate inclusion
of a different init system no matter how much better, cleaner and well-
designed it is. And s6-rc is all three of them IMHO. The only way to create
pressure is a successful set of distributions that use other solutions...


>  I agree with that - except that the compiled db is actually a very
> small hurdle, that goes away once you explain that OpenRC and systemd
> also use a compiled db except that it's hidden and everything is done
> dynamically, and s6-rc only makes it cleaner and more upfront.

Well said :)


>  Yes, the solution is a user-friendly interface, but that's not
> relevant to what I'm talking about. What I'm saying is that 
> distributions,
> including ones that currently use s6/s6-rc under 66 or any other
> interface, *will* need dynamic events integration to the service manager
> at some point, and the question is, how to add the functionality to
> s6-rc. I think Option 2 is *more* likely to get adopted by
> distributions overall. Distros that have already drunk the s6-rc
> kool-aid will be fine with either option 1 or option 2 (see above);
> normie distros will very probably be repulsed by option 1.
>

Yes, dynamic events integration is absolutely needed, no argument there.
If that can be done with minimal disruption on the user/integrator side
I have no problems with either option.


>
>> 4.  On the issue of mechanisms vs policy I fully agree that people want
>> a turnkey solution. However I do not think that is something that should
>> be done in a cetralised manner. There already at least 3 different 
>> working
>> sets of services created for s6-rc (artix, slew, 66) and someone can 
>> inspect,
>> use and modify them to fit their needs or policies.
>
>  Yes, people can pick and choose what they want, and as it is now, things
> are working for power users.
>  That is still niche though, and in order to reach more people, a wide
> array of distributions is the way to go.
>  I'm very happy that distributions such as Obarun and Artix have done
> the effort of actually porting services to a new format, be it 66
> or raw s6-rc; but it is not something that can be expected from most
> distributions, especially the big ones, which I *will* be aiming for at
> some point. I don't like the idea of a software author providing policy,
> any more than you do, but it is what worked for systemd and OpenRC, and
> in case you haven't noticed, I'm trying to be very pragmatic here, and
> to make the necessary sacrifices of principles in order to gain wider
> adoption.
>
> -- 
>  Laurent
>

I am not saying that policy should not be provided at all. I am saying 
that they are
  advantages if it is provided outside of the main project and 
downstreams tailor it
to their specs. Voidlinux runit configuration
is influenced by ignite and artix runit is influenced by voidlinux. Both 
voidlinux and artix
have pretty different policies expressed in the relevant scripts. They 
also share a lot of
scripts. Building 66 frontend service files for voidlinux (unofficially) 
I have checked
obarun 66 frontends, artix s6-rc services and voidlinux runit scripts. 
but the minimal
policies I strive to implement are those of voidlinux.


My point is... runit has found adoption in the post-systemd era despite 
having
obvious issues. It was not a comprehensive upstream policy that helped it. I
think it is a better model for adoption that that of openRC or systemd.


  reply	other threads:[~2020-09-02  9:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-30  8:30 [request for review] Port of s6 documentation to mdoc(7) Alexis
2020-08-30  9:10 ` eric vidal
2020-08-31  6:56   ` Alexis
2020-08-30 10:01 ` Laurent Bercot
2020-08-31  7:01   ` Alexis
2020-08-31 11:04     ` Laurent Bercot
2020-08-31 14:29   ` Guillermo
2020-09-01 10:00     ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Laurent Bercot
2020-09-01 19:24       ` possible s6-rc redesign mobinmob
2020-09-01 22:16         ` Dudemanguy
2020-09-01 22:20         ` Laurent Bercot
2020-09-02  9:41           ` mobinmob [this message]
2020-09-02 12:14             ` Laurent Bercot
2020-09-01 23:14       ` possible s6-rc redesign (was: [request for review] Port of s6 documentation to mdoc(7)) Steve Litt
2020-08-31 16:08   ` [request for review] Port of s6 documentation to mdoc(7) J. Lewis Muir
2020-08-31 17:45     ` Jason Lenz
2020-08-31 19:14       ` J. Lewis Muir
2020-08-31 20:51         ` Laurent Bercot
2020-09-01  6:38           ` Casper Ti. Vector
2020-09-01  9:03             ` Alexis
2020-09-01  9:20               ` Casper Ti. Vector
2020-09-01 10:02                 ` Alexis
2020-09-01 10:15                   ` Casper Ti. Vector
2020-09-01 20:13               ` Steve Litt
2020-09-02  0:50                 ` Alexis
     [not found]           ` <20200901063801.GA2158@caspervector>
2020-09-01 10:11             ` Laurent Bercot
2020-09-01 11:28               ` Casper Ti. Vector
2020-09-01 11:55               ` Alexis
2020-08-31 19:36     ` Laurent Bercot
2020-08-31 19:58       ` J. Lewis Muir

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=3f51fff7-7e1c-3718-4b58-2f464cac4eb4@disroot.org \
    --to=mobinmob@disroot.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).