Files
felhom-agent/REPORT.md
T
2026-10-14 11:30:46 +02:00

1.8 KiB
Raw Blame History

REPORT — v0.156.0: after a power cut the box clears up (R-1006, R-1008) — released, not vouched (2026-10-14)

Evidence: felhom.eu documentation/audits/power-cut-fixes-2026-10-14/ — the spike (C1 the night's leftover, C2 a killed worker, C3 a real power cut, C4 a full disk), the 17 red-proofs.

What the spike showed

  • A power cut mid-backup leaves vzdump-lxc-<vmid>-<date>.tar.dat + .tmp/ (root, in /var/lib/vz/dump); Proxmox never lists it as a backup; nothing removes it; every later backup is skipped „not enough space".
  • The dead vzdump task stays in Proxmox's active list ~30–60 s after the boot — long enough for the agent's start-up pass to call it „genuinely in flight" (R-1008). Short, so R-1008's harm is small.
  • A killed worker leaves tar/zstd writing into the .tar.dat for minutes, none named „vzdump" — the reason the root helper checks open files, not only process names.
  • On „No space left" vzdump removes its own partial (both paths): the preflight's sizing stays. But a full host root breaks LVM's own metadata writes (a half-removed snapshot; the janitor cannot clear it — new row).

What changed

See CHANGELOG.md v0.156.0: vzdumpInFlight behind the one BackupRunning; internal/vzpartial at start-up and before each backup; the root helper felhom-vzdump-partial-clean + one sudoers line + the bundle entry.

Gates

go build ./... && go vet clean; go test ./... -count=1 rc 0; agent_gates.py all OK; visudo -cf parsed OK; the config bundle tests (55) and the helper's tests (21) pass. 17 mutations, 17 red.

Next

Released: tag v0.156.0, binary sha256 8db22788…, bundle a2160521…, step bundle 0.156.0-step1 8be2bb8f…. Then the operator's vouch + floor, then the live proof on demo-hp (a cut mid-backup) and delivery to Tester 1 and the N100.