- `[2026-09-03]` **pfi-gx10 racked and networked: VLAN 50 via a DHCP RESERVATION, not a host static; Wi-Fi down.** `pfi-gx10.nh3.internal` → **10.100.50.60**, wired only. **Operator ruling, and the better design:** put the address on the **switch/firewall side** as a DHCP reservation and leave the host on DHCP. A host-side static works until the box moves, and then it is a stale netplan file on a machine whose address you no longer know. A reservation moves with the MAC. UniFi switch port 22 native network -> nh3-servers (VLAN 50) UniFi client reservation -> 30:c5:99:3d:a7:45 = 10.100.50.60 host unchanged, still DHCP `playbooks/gx10-rack-network.yaml` was pre-written to apply a **host static** and was NOT used — annotated as retired at its top. Its safety *ordering* was followed and is still right. ⚠ **The port arrived on the native VLAN**, not the server VLAN — it DHCP'd `10.100.0.111` from `nh3-default`. The switch port had to be repointed before anything else could work. Do not assume a racked port is on the VLAN you asked for. ⚠ **`port_overrides` is a WHOLE-ARRAY PUT.** Anything omitted is deleted. Two unrelated overrides (ports 21, 23) were read, backed up to a file, preserved and written back. ⚠ **The step that is easy to skip and expensive to miss:** while Wi-Fi was still up, traffic from the box to nh3-dev **preferred `wlP9s9`** — that interface sits directly on the userland subnet — so "I can reach it on the new address" proved NOTHING about the wired path. Downing Wi-Fi on that evidence is a coin flip on inter-VLAN routing, and losing it is a rack visit. Forcing the interface is what settled it: ping -c3 -I enP7s7 10.100.10.50 0% loss VLAN 50 -> VLAN 10 ping -c2 -I enP7s7 1.1.1.1 0% loss egress Only then did Wi-Fi come down, as its own step, `/etc/netplan` backed up to `/etc/netplan.bak-preWifiDown`. `nmcli radio wifi off` persists across reboot — verified by reading `/var/lib/NetworkManager/NetworkManager.state` back. ⚠ **The box now has exactly ONE path.** If that switch port or the reservation breaks it is a rack visit; the escape hatch is deliberately gone. Correct end state for a racked server, but a posture change from the desk setup — and this is the box run 3c moved to. Runbook `docs/runbooks/gx10-rack-network.md`; commit `a95717e`.