Files
felhom-agent/REPORT.md
T
2026-09-24 16:25:47 +02:00

2.1 KiB
Raw Blame History

REPORT — agent v0.133.0: a restore-test can never fill a box's disk (2026-09-24, R-672, R-673)

Full record: felhom.eu/documentation/audits/r672-2026-09-24/README.md.

Shipped (released, not delivered)

Tag v0.133.0 (9bdb4da), package sha256 3aa30345…e69b6, verified by anonymous download. Delivery needs the operator's signed agent_update job per box.

  • Space preflight before anything is created: free ≥ restored × 1.2 + 5 GiB, restored UNCOMPRESSED (vzdump log "Total bytes written" / PBS snapshot size), thin metadata with room, off the tested guest's pool when another eligible storage fits, unknown refuses, reported as a non-pass (skipped).
  • Scratch teardown retried every 10 min; operator told once after 3 failed tries.
  • Thin pool ≥ 90 % → immediate host report (hub v0.124.0 alarms storage_fill_critical, per pool per 6 h).
  • R-673: the stale-lock sweep on the same timer, under the one-heavy-op gate.

Red-proofs (each seen failing; files in felhom.eu/documentation/audits/r672-2026-09-24/redproofs/)

  1. preflight removed → the 2026-09-24 restore issued again; 2. archive FILE size used → "the compressed file size was used"; 3. timer pass a no-op → "the leaked scratch was not destroyed by the timer"; 4. sweep without the gate → "the sweep ran while a backup held the gate"; 5. no 90 % edge → "0 report requests, want 1"; 6. every skip dropped → "a space refusal never reached the host report". Full suite go test ./... green; agent_gates.py OK.

Live (demo-hp, the on-demand --selftest=restore-test, cadence OFF)

(a) factor 10 → refused: needs 215.5 GiB, has 22.1 GiB. (b) normal margin → refused: restoring 21.1 GiB needs 30.3 GiB, has 22.1 GiB — correct: no full restore-test fits demo-hp under 80 % pool use. (c) a forced teardown failure could not run live (it needs a scratch guest, which (b) shows cannot be created within the 80 % rule) — unit tests only. Pool 58.99 % before and after every run; nothing created.

Observations

  1. demo-hp has no second eligible storage for a restore-test: nvme-scratch takes rootdir, but the agent holds no grant there. FILED: R-672