mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 20:26:33 +00:00
The controller mount of DIR_VAR_LIB survived the teardown, so the next distro cycle inherited an NFS session whose server container was already gone: the kernel logged 'server not responding, timed out' and every access under /var/lib/infinito wedged, taking the deploy down with it. All five swarm jobs of the last manual run died this way, each on a different distro but always on the third lab cycle. Both halves of the old teardown were unable to clear it. The guard `mountpoint -q` blocks on exactly the dead mount it is asked about, so the timeout dropped the unmount that was needed; and `umount -lf` ran without sudo on a non-root runner, so the EPERM went into `|| true`. Detection now reads /proc/self/mountinfo, which touches no filesystem, the unmount elevates when the caller is not root, and a mount that survives all of it fails loudly instead of silently poisoning the next cycle. The bootstrap runs the same release before bringing a lab up, so a cycle whose teardown never ran cannot hand the mount on either. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>