It appears that the networkd in Xenial is sensitive to dbus service being available; it times out a bit waiting for dbus before continuing; this is the delay.
If I drop cloud-init.service 'Before=dbus.socket' and 'Before=basic.target'; Add 'After=systemd-networkd-wait-online.service'; then ensure that we have a symlink to systemd-networkd.service and systemd-networkd-wait-online.service in /etc/systemd/system/network- online.target.wants/ then I can get reliable service; networkd comes up, waits for eth0 to DHCP, then when complete, cloud-init init runs and eth0 is up. This of course diverges cloud-init.service from trunk; Ideally we'd be able to run networkd without dbus *and* without timeouts. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1636912 Title: systemd-networkd runs too late for cloud-init.service (net) To manage notifications about this bug go to: https://bugs.launchpad.net/systemd/+bug/1636912/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs