failover/boot: mask networkd-wait-online instead of RequiredForOnline=no

The previous fix (RequiredForOnline=no on the ZT link) could not work and the
~2min boot stall returned. systemd-networkd-wait-online (systemd 255) only
declares the network online when at least one managed, online-eligible link
goes routable. networkd here manages only the AP (wlxc…, local-only) and the ZT
overlay — and with the ZT link also marked RequiredForOnline=no (on top of the
AP link that already was), wait-online had zero candidate links and could never
satisfy "online", burning its full 120s timeout every boot. Journal confirmed:
"Timeout occurred while waiting for network connectivity" at exactly +120s,
gating network-online.target → zerotier-one (the recovery path).

Mask systemd-networkd-wait-online entirely — neither networkd link is a real
uplink, and real uplink readiness is already covered by NetworkManager-wait-online.
Wire the mask into deploy.sh, delete the now-dead RequiredForOnline=no drop-in,
and correct README §3/§5.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Andreas Wrede
2026-06-28 20:57:21 -04:00
co-authored by Claude Opus 4.8
parent 118f2f2f5e
commit 387375de1e
3 changed files with 7 additions and 11 deletions
-7
View File
@@ -1,7 +0,0 @@
[Link]
# The ZeroTier overlay must NOT gate network-online.target. The ztuga7c2kh interface
# only exists once zerotier-one starts, but zerotier-one is ordered After=network-online.target.
# Without this, systemd-networkd-wait-online blocks on the (not-yet-existing) ZT link until its
# 120s timeout, delaying boot and ZeroTier by ~2min every reboot. Real uplink readiness is
# covered by NetworkManager-wait-online, not networkd. Drop-in (manager regenerates the main file).
RequiredForOnline=no