REPORT: the night of 2026-10-21 (host swap report, R-1194), unreleased
gates / gates (push) Successful in 2m7s

This commit is contained in:
2026-10-22 00:06:21 +02:00
parent 0da792e670
commit b310773dbf
+16 -30
View File
@@ -1,32 +1,18 @@
# REPORT — agent v0.161.0 released and delivered (2026-10-20)
# REPORT — agent, the night of 2026-10-21: the host's swap is reported; no false emergency-door alarm on a new box — COMMITTED, NOT RELEASED
**What:** the three fixes committed on 2026-10-19 (`56aabc7`) — R-921 `host_busy` on `GET /backup/status`, R-1070 a
missing tunnel container is `absent`, R-1010 the janitor forces a half-removed vzdump snapshot once — released as
0.161.0 on the operator's yes (2026-10-20 morning answers) and delivered to the three test hosts. **Not vouched** (the
operator's act).
**Brief:** the unattended night brief of 2026-10-21 (Parts 1, 2, 5). Architecture: felhom.eu `03-host-agent.md` §9 (the
new swap paragraph). Both join the swap fix (`286a7e3`) in the coming 0.162.0 — the operator's release and vouch (D26 = A).
**Release:** `scripts/release-agent.sh 0.161.0` from a clean clone at `5152123`; package published and verified by
download; tag `v0.161.0` pushed.
- binary sha256 `ff4e6dc52dd70234913445ecdeb88d31dea8e394d77c48704d26ff19b999d3b5`
- config bundle sha256 `485f36c957d83f772aa22cac24e5e73f44da5cf8b957b1fd513bec2bc1d12c47`
**Delivery (signed `agent_update`, one job per box):** demo-hp 06:38 UTC, Tester 1 06:54, demo-felhom 06:55 — each
`signed op COMPLETED`, `capabilities self-check ok=76 total=76`, `selfupdate: update committed`; the hub reports 0.161.0
for all three.
**Live checks on demo-hp** (felhom.eu `documentation/audits/night2-2026-10-20/P1/`):
- R-921: from inside 9201 with its own token (leaf pinned by the bootstrap fingerprint), `host_busy` read every 15 s
over a „Mentés most" press (`POST /api/guest-backup/trigger`): 3 × `{"busy": false}`, 24 × `{"busy": true, "what":
"backup:local"}`, 21 × `{"busy": false}`; the backup completed (7.15 GB, 06:42→06:49 UTC).
- R-1070: the agent's own probe in 9202 (no tunnel) answers `error: no such object: cloudflared` (rc 1) — the exact
`TestClassifyTunnel` fixture row; 9201 answers `running`.
- R-1010: by its tests (`TestStaleLock_R1010_ForcesOnceOnlyWhenTheVolumeIsGone`, `TestDeleteSnapshotForce_R1010`) —
a half-removed snapshot on `pve/data` was not made (rule 6).
- Gates: `agent_gates.py --fast` green on `5152123` before the release.
**R-1083 left out, and why:** the code would be small (a root-only subcommand that mints the token and adds the
`local_api` block to an existing guest's `bootstrap.json`), but handing 9202 a key is not safe tonight: its controller
would then book the agent's whole-guest backups, and one of those tiers writes to ep0 (a change on ep0 the brief
forbids); 9202 is also outside the `felhom` pool. The R-1083 row holds what it needs.
**Teardown:** the probe script removed from 9201 and `/tmp` on demo-hp. Nothing else provisioned.
- **Host swap (R-1192 follow-up), `0da792e`:** the host report carries `host.host_swap_mb` (Proxmox node status = the
kernel's SwapTotal) and `host.guest_swap_mb` (the guests' `swap` sum; each guest spec `swap_bytes`); one WARN when the
first is below the second, one INFO when covered again; `GET /guest/memory` carries both for the controller's install
page. The agent never creates host swap (register R-1207). Proven live on the soak box: the hub stored
`host_swap_mb 7935, guest_swap_mb 4096`.
- **R-1194, `0da792e`:** no OOB stanza until the felhom-sshd loop's first pass has run — the first report on a fresh box
read a config not yet rendered and the hub mailed `oob_degraded` (reproduced 2026-10-21 20:34 CEST on a fresh install).
- **The swap fix itself** ran as a hand-placed fixture on the 8 GB soak box: guest swap 512 → 4096 MB one minute after
start; the 2-hour household load answered every probe (felhom.eu `audits/night-2026-10-21/P1-soak/`).
- Release candidate built from a clean clone at `0da792e` with the release flags, version `0.162.0`:
sha256 `5fd7a23bfe319cb521c4bc399612d5fb3413f1e695f79bc663c386f69c757928` (not published).
- Tests (red-proved): `TestR1192_HostReportCarriesSwapAndWarnsOnce`, `TestR1192_GuestMemoryCarriesHostAndGuestSwap`,
`TestR1194_NoOOBStanzaBeforeTheFirstPass`. CI job 2176 green.