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

Bug#727708: init system thoughts



Steve Langasek <vorlon@debian.org> writes:

> Upstart (as implemented in Ubuntu) restores this guarantee (with
> provisions for failsafe booting in the case of a wrong network config),
> and it takes advantage of upstart's capability of sending arbitrary
> signals to do so.  I can see how one could implement the equivalent of
> upstart's static-network-up event on systemd, using generators.  But
> what would the equivalent to /etc/init/failsafe.conf look like?  I think
> this would be very difficult to express in systemd language, yet it's
> altogether vital for providing a boot that is both reliably ordered, and
> recoverable in the event of problems.

I'm not sure I completely understand what failsafe.conf actually does, but
I think the systemd answer to this is partly discussed here:

    http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/

A systemd integration in Debian may want to implement something akin to
upstart's if-up.d hook as a service that waits for ifup notification with
a timeout and then signals network.service to duplicate that upstart
functionality.  (I'm not sure I completely understand all of the issues
involved and whether that would always make sense.)

When using NetworkManager, as mentioned in that discussion, you may want
to enable NetworkManager-wait-online.service instead or in addition.  That
has a failsafe to not wait too long for network before continuing the
boot, including network-dependent services, anyway.

So, in other words, assuming that I understand this correctly, the way
that you implement this in systemd is that you add a Before= dependency to
the network.target (hm, which implies that my assumption about things
meddling with dependencies of core services being less likely is not as
correct as I thought it was, although I still think it's less likely to be
done by accident) that waits for the network to be configured, but
implements a timeout to ensure that you don't stall forever.

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


Reply to: