Package: ifupdown
Version: 0.8.19
Severity: important

Hi Guus,

I've been updating another (local) package to deal with systemd no
longer running rcS.d init scripts in Stretch - which means I've been
looking carefully at the boot sequencing on both Jessie and Stretch,
and there's a notable change in the ordering of networking.service
between those two releases, which seems to have potential for trouble.

In Jessie, the generated unit guaranteed that ifup would be run
Before=sysinit.target based on it being ordered in rcS.d - and so
equivalently that ifdown would not be run until everything ordered
after sysinit.target was already shut down.

In the explicit unit in Stretch, that ordering relation is no longer
present, and networking.service starts much later - including after
basic.target, which potentially pulls in remote filesystem mounts.


There seems to be a few subtle consequences to this - I now see a bunch
of services which do need/use network connectivity get started before
networking.service.  Arguably some are also buggy for not having an
ordering After=network.target (munin-node I'm looking at you), but for
some like rsyslog that may or may not be needed depending on other
configuration.  But not being ordered to start before / stop after
remote mounts can be sequenced seems to be something networking.service
itself should fix.


Is there any good reason this should not (still) declare an ordering
Before=sysinit.target ?

It's quite possible that bugs like #857679 are caused by this (note
that 'dependency' relationships as shown by the reporter aren't the
same as ordering relationships ...).  And bugs like #857573 if not
directly caused by it would be exacerbated by it making the other
issues harder to fix at their root too.  There may be others, but
that was two that stood out while I looked to see if this was already
reported.


 Thanks for picking up the maintenance of this package!
 Best,
 Ron

Reply via email to