I suppose that merely reintroducing the Type=oneshot will make things
work again?

However, I don't really understand this yet. ifup@.service should have
nothing to do with how network-online.target behaves. For the record,
the design of this is as follows:

  * ifup@.service should not be depended on by anything, and it should
be possible to run this asynchronously. This job will bring up
hotplugged network interfaces during runtime, and the
Before=network.target will ensure that any consumer of network related
functionality will stop before any ifup@.service during shutdown. The
"network.target" is relatively uninteresting during bootup (there its
main function is to sort firewalls etc. before bringing up any network
interface via network-pre.target).

 * Coldplugged interfaces during boot, and virtual ones like bridges,
bonds, etc. will be brought up by /etc/init.d/networking (aka
networking.service). However, this is Type=forking, not oneshot, so will
(and should) run in parallel with everything else during boot.

 * With ifupdown (i. e. /etc/network/interfaces), the ifup-wait-all-
auto.service unit is supposed to wait for all interfaces to be "up", and
this implements network-online.target. This calls "ifquery --state
<interface>" to ask ifupdown whether an interface is up. So from your
bug report I conclude that this isn't actually working, and ifupdown
considers an interface as "up" even before dhclient finished?

It was, and would be wrong to make network.target having to wait for any
ifup@.service to finish again. This unnecessarily delays the boot and
causes too big hangs when any network interface is unavailable, like in
bug 1425376.

So if I understood this right, then asking ifquery --state in ifup-wait-
all-auto.service isn't sufficient, and this check needs to become
stronger?

To confirm this, would you mind attaching "journalctl -b" to this bug,
once for a boot with the current ifup@.service and once with reverting
back to Type=oneshot? I'd like to compare the startup order and DHCP
interaction there. Thanks!

** Changed in: systemd (Ubuntu)
   Importance: Undecided => High

** Package changed: systemd (Ubuntu) => ifupdown (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1442828

Title:
  change for LP 1425376 breaks systemd After=network-online.target

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1442828/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to