mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-10 21:27:14 +01:00
Root cause, confirmed causally rather than inferred: masking systemd-timesyncd (which vmbox does so `-rtc base=` stays pinned, since timesyncd otherwise resets the guest clock to real time) left systemd-time-wait-sync waiting for a sync that can never arrive. That unit sat in "start running" forever and every other job queued behind it as "start waiting" -- sshd included -- so the guest never reached multi-user.target. It booted to a login prompt and looked perfectly healthy while being permanently unreachable. The fix is one line: mask both units together. Four earlier hypotheses were each disproven by measurement. What finally worked was asking the guest instead of reading absence-of-log-lines: `systemctl is-system-running` returned "starting", and `systemctl list-jobs` put systemd-time-wait-sync at the head of the queue. Stopping it made sshd active and bound :22 within seconds, and ssh from the host then succeeded. Rule for next time: a unit that is enabled, has satisfied dependencies, and neither starts nor fails is QUEUED -- check list-jobs first. The smoke gate added earlier did its job here: it caught the unreachable image and refused to seal it, keeping the sandbox so its logs survived. Also fixes serial_exec markers to be plain alphanumerics -- shell metacharacters get echoed and line-wrapped by the tty, which made them unreliable to match and produced spurious timeouts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdyMBGCrGVGDWtJ9xe48f3 |
||
|---|---|---|
| .. | ||
| dummy-creds.sh | ||
| provision.sh | ||