Hi Roger,

On Fri, Feb 24, 2012 at 11:41:35AM +0000, Roger Leigh wrote:
> Another alternative is to let sysvinit run systemd units and/or
> upstart jobs.  Given their declarative syntax, would it be possible
> for these to be translated into init script form so that they can
> be run by init?  This would provide a migration path and permit
> packages to migrate away from providing init scripts in favour of
> systemd units (or upstart jobs), while permitting sysvinit use to
> continue.

There are two main challenges here that I'm aware of with trying to generate
init scripts from upstart jobs:

 - Process supervision.  A lot of the win of moving to an init system like
   upstart or systemd is that init *knows* which process corresponds to
   which job and doesn't have to use PID files.  If we lose the process
   supervision, we have to manage how to generate PID files for our
   processes again, for all the different ways that daemons start, and we
   have to track that information somewhere - even if we put it in the
   upstart job or systemd ini, it's information not being used except under
   sysvinit, so have we actually saved ourselves from code rot?

 - Dependency tracking.  Upstart start conditions are not easily convertible
   into the kind of dependency information that's useful to
   insserv+startpar; with socket-based activation in systemd, much of the
   inter-service dependency information is missing altogether.  Again, this
   is probably going to somehow require tracking information for the benefit
   of sysvinit that's not used by the native consumer of the job format.

Granted, though, it's at least potentially possible to keep track of both of
these things in a declarative fashion, and there'd certainly be some benefit
to that even if we're not entirely free of the risk of bit rot.  If someone
is interested in trying to implement such an upstart job -> init script
autoconverter, I'd be willing to help.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

Attachment: signature.asc
Description: Digital signature

Reply via email to