Comment 6 for bug 1425376

Revision history for this message
Steve Langasek (vorlon) wrote :

I'm looking through the systemd ordering now; I've found a couple of issues so far:

 - ifupdown: /lib/systemd/system/network-online.target.wants/ifup-wait-all-auto.service is a broken symlink to ../ifup-all-auto.service, looks like this should be ../ifup-wait-all-auto.service instead.

 - cloud-init: cloud-init.service declares a 'Requires=network.target', but the definition of network.target is:

       network.target
           This unit is supposed to indicate when network functionality is
           available, but it is only very weakly defined what that is supposed
           to mean, with one exception: at shutdown, a unit that is ordered
           after network.target will be stopped before the network -- to
           whatever level it might be set up then -- is shut down. It is hence
           useful when writing service files that require network access on
           shutdown, which should order themselves after this target, but not
           pull it in. Also see Running Services After the Network is up[1]
           for more information. Also see network-online.target described
           above.

           systemd automatically adds dependencies of type After= for this
           target unit to all SysV init script service units with an LSB
           header referring to the "$network" facility.

Since cloud-init is not a provider of network connectivity, it must not use 'Requires=network.target'. It's possible that this should be a dependency on 'network-online.target' instead.

Still looking.