31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# 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.
|