Ok, I've succeeded in verifying this by adding an artificial ExecStartPre=/bin/sleep 10 to both old and new resolvconf.service. Old:
# journalctl -o short-precise --unit resolvconf.service --unit network-online.target --unit systemd-networkd-wait-online.service --unit systemd-networkd.service --no-pager -- Logs begin at Thu 2017-04-20 07:36:15 UTC, end at Thu 2017-04-20 07:36:37 UTC. -- Apr 20 07:36:17.265818 ubuntu systemd[1]: Starting Network Service... Apr 20 07:36:17.430595 ubuntu systemd-networkd[905]: Enumeration completed Apr 20 07:36:17.437376 ubuntu systemd[1]: Started Network Service. Apr 20 07:36:17.440060 ubuntu systemd[1]: Starting Wait for Network to be Configured... Apr 20 07:36:17.460259 ubuntu systemd-networkd[905]: ens3: IPv6 enabled for interface: Success Apr 20 07:36:17.473412 ubuntu systemd-networkd[905]: ens3: Gained carrier Apr 20 07:36:17.499888 ubuntu systemd-networkd[905]: ens3: DHCPv4 address 192.168.122.138/24 via 192.168.122.1 Apr 20 07:36:18.934247 ubuntu systemd-networkd[905]: ens3: Gained IPv6LL Apr 20 07:36:25.978756 ubuntu systemd[1]: Started Nameserver information manager. Apr 20 07:36:31.522527 ubuntu systemd-networkd[905]: ens3: Configured Apr 20 07:36:31.531655 ubuntu systemd[1]: Started Wait for Network to be Configured. Apr 20 07:36:31.533566 ubuntu systemd[1]: Reached target Network is Online. New: # journalctl -o short-precise --unit resolvconf.service --unit network-online.target --unit systemd-networkd-wait-online.service --unit systemd-networkd.service --no-pager -- Logs begin at Thu 2017-04-20 07:38:31 UTC, end at Thu 2017-04-20 07:39:01 UTC. -- Apr 20 07:38:41.872259 ubuntu systemd[1]: Started Nameserver information manager. Apr 20 07:38:41.890403 ubuntu systemd[1]: Starting Network Service... Apr 20 07:38:41.930968 ubuntu systemd-networkd[987]: Enumeration completed Apr 20 07:38:41.931769 ubuntu systemd[1]: Started Network Service. Apr 20 07:38:41.934063 ubuntu systemd[1]: Starting Wait for Network to be Configured... Apr 20 07:38:41.944754 ubuntu systemd-networkd[987]: ens3: IPv6 enabled for interface: Success Apr 20 07:38:41.950236 ubuntu systemd-networkd[987]: ens3: Gained carrier Apr 20 07:38:41.957193 ubuntu systemd-networkd[987]: ens3: DHCPv4 address 192.168.122.138/24 via 192.168.122.1 Apr 20 07:38:43.444868 ubuntu systemd-networkd[987]: ens3: Gained IPv6LL Apr 20 07:38:56.057060 ubuntu systemd-networkd[987]: ens3: Configured Apr 20 07:38:56.060665 ubuntu systemd-networkd-wait-online[1010]: ignoring: lo Apr 20 07:38:56.069850 ubuntu systemd[1]: Started Wait for Network to be Configured. Apr 20 07:38:56.076092 ubuntu systemd[1]: Reached target Network is Online. In neither case did I end up with an unconfigured /etc/resolv.conf , but this does at least demonstrate the capacity for the race (and its resolution). Marking verified. ** Tags added: verification-done-yakkety -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1649931 Title: systemd-networkd needs to ensure DNS is up before network- online.target To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1649931/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs