[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#591791: systemd point of view



Hi Steve, Tollef,

I've reviewed the latest patch from Steve on this thread and my personal
feeling is that it's about at a place where I'd second it.  There are just
a few things remaining that I think should be addressed, related to what
the migration looks like.

Tollef Fog Heen <tfheen@err.no> writes:

> The patch seems mostly ok to me.  I think we should decide whether we
> want a single invoke-rc.d that everybody uses and which knows how to
> handle all of sysvinit, upstart and systemd or if we want each init
> system to ship their own.  From the patch, it looks like each init
> system should ship their own, but that it still must keep compatibility
> with all other implementations.

I agree that this should be spelled out, since the behavior of invoke-rc.d
is rather important in this proposal.  Currently, it says:

    Instead, implementations of <prgn>invoke-rc.d</prgn> must detect when
    upstart is running and when an upstart job with the same name as an
    init script is present, and perform the requested action using the
    upstart job instead of the init script.

in the upstart section, which implies *all* implementations of
invoke-rc.d, including the one that comes with sysvinit.  Was the
intention that this would only apply to the one that comes with upstart
itself?

Also:

    Dependency-based boot managers for SysV init scripts, such as
    <package>insserv</package>, may avoid running a given init script
    entirely when an equivalent upstart job is present, to avoid
    unnecessary forking of no-op init scripts.  In this case, the boot
    manager should integrate with upstart to detect when the upstart job
    in question is started or stopped to know when the dependency has been
    satisfied.

This is optional, but I'd still like to get review of this part from the
insserv maintainers.  (Did that happen somewhere earlier in this thread
already?)

Don't we need to say something about how alternative boot managers should
arrange to take over init, given that sysvinit is Essential, so that we
don't break things while doing so?

Finally, given the recommendation:

    SysV init scripts for which an equivalent upstart job is available
    must query the output of the command <prgn>initctl version</prgn> for
    the string <tt>upstart</tt> and avoid running in favor of the native
    upstart job.

I'd really like to see Policy provide some sample code for how to do that,
since otherwise people are going to get this wrong.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: