** Description changed:

  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-4ubuntu13
+   apt update && apt install -y systemd
+ 
+   # enable networkd and netplan
+   apt install -y nplan
+ cat <<EOF > /etc/netplan/nplan.yaml
+ network:
+   version: 2
+   ethernets:
+     eth0:
+       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-network-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.

-- 
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

Reply via email to