Re: libinit idea

From: Nikolai Lifanov <lifanov_at_mail.lifanov.com>
Date: Sun, 23 Feb 2014 14:09:38 -0500
On 2014-02-23 13:47, David Chisnall wrote:
> On 23 Feb 2014, at 18:31, Freddie Cash <fjwcash_at_gmail.com> wrote:
> 
>> The main developer for systemd is very anti-portability and 
>> anti-!Linux. He
>> had actively rejected patches that made his projects work on non-Linux
>> systems. In order to port systemd to a non-Linux system, he wants you 
>> to
>> first implement every Linux feature that systemd uses.
>> 
>> systemd is a non-starter, and not with considering.
> 
> I don't think that's a relevant discussion.  The license would likely
> preclude systemd from making it into the base system anyway.  Please
> let's not be too negative about the author of systemd: he's
> responsible for more people switching from Linux to FreeBSD than any
> other single individual I can think of and I would strongly encourage
> him to continue.
> 

I also noticed this.

> The relevant question is whether it does anything in a way that is
> sufficiently sensible to merit a FreeBSD service management
> infrastructure doing it in the same (or a similar) way.
> 
> Oh, two things missing from my original list:
> 
> - Service jails should be able to run without an init process, with
> just the required libraries installed and the host machine's init
> system starting the jail and the service process(es) inside it.
> 

Isn't this a bit too complicated? If there is an init script under 
$jail/usr/local/etc/rc.d, then the host init will need to find it, which 
can be even more complicated if rc search path in the jail is customized 
(prefixed if it's managed by a different department, for example). Host 
init will have to read the jail configuration, parse it too, and then 
manage children and pids of the jailed services, including reparenting, 
all within a jail context. Then the admin in that jail would need to be 
able to restart services, affecting host init, which opens a whole new 
can of worms. If init program is skinny and not too complicated, which 
it is, there is no tangible overhead. And if a jail really needs a 
single simple service, init process in the jail can *be* that, like 
jexec myjail /bin/sh -c somestuff (or even /usr/local/bin/myservice -c 
myservice conf).

> - The init system should use process descriptors, not pids, for
> tracking processes, preventing issues with pid reuse and so on (and
> removing the need to write pid files).  If process descriptors do not
> provide the required functionality (e.g. the ability to trace forked
> children) then this should be added.
> 

This is a good idea.

> David
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe_at_freebsd.org"
Received on Sun Feb 23 2014 - 18:09:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:47 UTC