From acef72c0cb84f99db9f8d83d4c489e57320f4ce6 Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Mon, 9 Nov 2020 16:12:32 +0300 Subject: [PATCH] systemd: increase default timeout of NetworkManager-wait-online We encountered the following situation: * nm-online (NetworkManager-wait-online.service) is started * NetworkManager tries to configure network * the first try of using dhclient fails with timeout for some reasons * the second try of running dhclient completes successfully (NMs tries himself) We get a working network, but it takes more that 30 seconds. NetworkManager-wait-online.service fails, it may be a false negative to checkers of network being online. It will also be a false positive signal to start mounting network (CIFS, NFS etc.) shares, for example, because they depend from network-online.target and network-online.target will become reached right after NetworkManager-wait-online.service fails. So, it makes sense to increase default timeout from 30 to 60 seconds. @thaller wrote in https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/237 that there may be cases where, for example, incorrectly set up bridges or just network may lead to delays when booting the system. Yes, but: * if there is no possibility to start trying to connect the network, e.g. if all network interfaces, managed by NetworkManager, are DOWN, NM will not try to connect network and "nm-online -s" will exit with 0 without waiting (so, this will not prolong start up of workstations or servers when ethernet cable is just not plugged in) * an additional potential 30 seconds delay seems to be less harmful then a false positive to start mounting network shares or doing abything else too eraly, when an additional wait for a few seconds would have prevented those things from failing. All things considered, it seems reasonable to increase this timeout from 30 seconds to 1 minute (60 seconds). Signed-off-by: Mikhail Novosyolov https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/675 --- data/NetworkManager-wait-online.service.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in index 26a8f2536..0ebd3447c 100644 --- a/data/NetworkManager-wait-online.service.in +++ b/data/NetworkManager-wait-online.service.in @@ -26,7 +26,9 @@ RemainAfterExit=yes # gets delayed too long, then the solution is usually not to decrease # the timeout, but to fix your setup so that the connected state # gets reached earlier. -Environment=NM_ONLINE_TIMEOUT=30 +# If there is no network to connect to (if network interface is down), +# NetworkManager will make "nm-online -s" stop without waiting. +Environment=NM_ONLINE_TIMEOUT=60 [Install] WantedBy=network-online.target