For yakkety resolvconf update; I've updated the SRU test-case to include a more general netplan config for bringing up ethernet devices; the previous version only worked on lxd (or instances with devices named eth0).
With the above change; it looks like yakkety/zesty (due to running systemd-resolved instead of resolvconf service) need an update to the systemd-resolved service the instance is configured to use networkd insteadof ifupdown to ensure that systemd-resolved runs *before* network-online.target. # diff -u systemd-resolved.service.orig systemd-resolv --- systemd-resolved.service.orig 2017-03-06 19:37:44.206692449 +0000 +++ systemd-resolved.service 2017-03-06 19:33:09.467080158 +0000 @@ -12,6 +12,7 @@ Documentation=http://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers Documentation=http://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients After=systemd-networkd.service network.target +Before=network-online.target # On kdbus systems we pull in the busname explicitly, because it # carries policy that allows the daemon to acquire its name. This makes things more complicated for this SRU; yakkety/zesty will need an updated systemd; the resolvconf portion of this SRU (for yakkety) is still OK but it's not sufficient to achieve the goal of ensuring DNS is functional *before* we reach 'network-online.target'. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to resolvconf in Ubuntu. https://bugs.launchpad.net/bugs/1649931 Title: systemd-networkd needs to ensure DNS is up before network- online.target Status in resolvconf package in Ubuntu: Fix Released Status in systemd package in Ubuntu: Fix Released Status in resolvconf source package in Xenial: Fix Released Status in systemd source package in Xenial: Fix Committed Status in resolvconf source package in Yakkety: Fix Committed Status in resolvconf package in Debian: Fix Committed Bug description: Currently resolvconf and systemd-networkd don't ensure DNS has been configured before allowing network-online.target to be reached. This was discussed in https://launchpad.net/bugs/1636912 however it was not a regression since there aren't any users of networkd + DNS early in boot at this time, it was requested that we move this DNS issue to a separate bug. [SRU] Fix: switch resolvconf.service to run Before=network-pre.target and add Wants=network-pre.target. Add a Before=network-online.target to systemd-networkd-resolvconf-update.service to ensure we update /etc/resolv.conf with DNS config prior to reaching network-online.target. Regression potential: Low. networkd is not widely being used outside of netplan/snappy in xenial. Test Case: lxc launch ubuntu-daily:xenial x1 lxc exec x1 /bin/bash # make sure you're on systemd-229-4ubuntu17 apt update && apt install -y systemd # enable networkd and netplan apt install -y nplan cat <<EOF > /etc/netplan/nplan.yaml network: version: 2 ethernets: all-en: match: name: "en*" dhcp4: true all-eth: match: name: "eth*" dhcp4: true EOF sed -i.orig -e 's/^source/# source/' /etc/network/interfaces netplan generate # make sure cloud-init.service uses networkd sed -i.orig -e '/After=networking.service/a After=systemd-networkd-wait-online.service' /lib/systemd/system/cloud-init.service reboot # check that the order of execution with: journalctl -o short-precise --unit resolvconf.service --unit network-online.target --unit systemd-networkd-wait-online.service --unit systemd-networkd-resolvconf-update.service # the order should be: 1. resolvconf: systemd[1]: Started Nameserver information manager. 2. systemd-networkd-wait-online.service: systemd[1]: Starting Wait for Network to be Configured... 3. systemd-networkd-resolvconf-update.service: systemd[1]: Started Update resolvconf for networkd DNS. 4. network-online.target: systemd[1]: Reached target Network is Online. === BAD OUTPUT === On a failing system, Reached target Network is Online occurs before (1, 2, or 3) above, like this output: Dec 15 19:18:15.233443 x4 systemd[1]: Started Nameserver information manager. Dec 15 19:18:15.797857 x4 systemd[1]: Starting Wait for Network to be Configured... Dec 15 19:18:15.799573 x4 systemd-networkd-wait-online[145]: ignoring: lo Dec 15 19:18:15.804949 x4 systemd-networkd-wait-online[145]: ignoring: lo Dec 15 19:18:15.805079 x4 systemd-networkd-wait-online[145]: ignoring: lo Dec 15 19:18:29.100305 x4 systemd[1]: Starting Update resolvconf for networkd DNS... Dec 15 19:18:29.101870 x4 systemd[1]: Started Wait for Network to be Configured. Dec 15 19:18:29.102144 x4 systemd[1]: Reached target Network is Online. Dec 15 19:18:29.212842 x4 systemd[1]: Started Update resolvconf for networkd DNS. === GOOD OUTPUT === On a passing system, Reached target Network is Online occurs after 1, 2, and 3. Dec 15 19:28:42.548545 x4 systemd[1]: Started Nameserver information manager. Dec 15 19:28:43.144389 x4 systemd[1]: Starting Wait for Network to be Configured... Dec 15 19:28:43.146155 x4 systemd-networkd-wait-online[145]: ignoring: lo Dec 15 19:28:56.081487 x4 systemd[1]: Started Wait for Network to be Configured. Dec 15 19:28:56.100353 x4 systemd[1]: Starting Update resolvconf for networkd DNS... Dec 15 19:28:56.124005 x4 systemd[1]: Started Update resolvconf for networkd DNS. Dec 15 19:28:56.124555 x4 systemd[1]: Reached target Network is Online. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1649931/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp

