On Mon, 2013-10-14 at 14:18 -0700, T.C. Hollingsworth wrote:
1.) DHCP on your network is sloooow and NetworkManager-wait-online
is
timing out after the default 30s waiting for it.
My dhcp server is a cisco linksys e3000 wire/wireless router that I have
been using for year or two now, and it works fine. Worked just fine on
F19 with no issues of this nature.
2.) NetworkManager-wait-online is just stupid and doesn't wait for
DHCP to complete.
Tried your script but got an exit code, ugh can't remember it now.
3.) NM-wait-online is working fine, but systemd isn't waiting for it
for some reason.
I think above is the problem, but can't swear to it.'
I believe something in the logs would indicate if it's 1. If that's
the case, you can increase the timeout by copying
/usr/lib/systemd/system/NetworkManager-wait-online.service to
/etc/systemd/system/ (so rpm doesn't overwrite your changes on
updates) and increasing the `-t` argument to `nm-online` in that file.
Changed it to 120 secs but still no go. Heck there was only 8 seconds
between trying to mount the nfs share and dhcp getting configured.
If it's 2, file a bug against NetworkManager, which ships the
`nm-online` program that is being stupid. :-p If it's 3, systemd
obviously deserves the bug.
Well, lets try a more systemd-esque hack that will also identify
whether the problem is 2 or 3 as described above. Drop something like
this in /etc/systemd/system/really-wait-online.service:
--
[Unit]
Description=Really wait for the damn network
Requisite=NetworkManager.service
After=NetworkManager.service
Wants=network.target
Before=network.target network-online.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'until ifconfig p5p1 | grep '192.\168'; do
continue; done'
TimeoutSec=120
[Install]
WantedBy=multi-user.target
--
Remember to adjust the network interface and grep string to something
that makes sense for your network, and run `systemctl daemon-reload &&
systemctl enable really-wait-online.service` to enable it when you're
done. (And if you're aware of a better method for figuring out DHCP is
done than grepping the output of `ifconfig`, feel free to use it. ;-)
If mounting works after that, NM-wait-online is really the culprit and
NetworkManager deserves the bug. If mounting still fails, systemd is
not ordering things right and deserves the bug.
And if systemd is to blame, fix your system nao by explicitly ordering
your little wait-online service before the mount unit (e.g.
mnt-foo.mount) discussed upthread. Just add said mount unit to the
end of the Before line in that file.
Got confused on your above temp fix. So adding home-download.mount to the end of the
Before line, in my wait.online service file?
--
Mike Chambers
Madisonville, KY
"Best little town on Earth!"