Commit 58db6edd authored by David Johnson's avatar David Johnson

Make sure udev settles enough to get us network interfaces.

Ok, it seems that sometimes the network.target runs before network
devices have fully finished going through udev.  I think what goes on
here is that udev can "settle" (meaning there are no events), but there
will still be some events in the future.

So now in the special networking-emulab.service, we settle AND wait for
at least one auto, non-lo interface to appear via ifquery.
parent 7afd5f24
......@@ -13,7 +13,7 @@ WantedBy=network-online.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'udevadm settle'
ExecStart=/bin/sh -c 'while true; do udevadm settle && [ -n "`ifquery -a -l --exclude=lo --no-mappings`" ] && break || (echo "Waiting for network interfaces..." ; sleep 2); done'
ExecStop=
RemainAfterExit=false
TimeoutStartSec=2min
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment