docs(proxmox): Document all six PBS GC verdict shapes
PR Pipeline — Authorize → Validate → Review → Merge / auth (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / validate (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / lint (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / gate (pull_request) Successful in 1s
PR Pipeline — Authorize → Validate → Review → Merge / auth (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / validate (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / lint (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / ai-review (pull_request) Successful in 4s
PR Pipeline — Authorize → Validate → Review → Merge / gate (pull_request) Successful in 1s
The Liveness Check section now documents ALL SIX verdict shapes exactly as emitted by proxmox-monitor.sh: 1. ✅ PBS GC: healthy (last run Nh ago, pending-bytes: N B) 2. 🔴 PBS GC: stale (last run Nh ago, pending-bytes: N B) 3. 🔴 PBS GC: probe-failed: storepve:192.168.68.6 (expected JSON, got 000) 4. 🔴 PBS GC: probe-failed: storepve:192.168.68.6 (unparseable JSON) 5. 🔴 PBS GC: never-run (storepve-datastore not found in GC list) 6. 🔴 PBS GC: never-run (storepve-datastore has no last-run-endtime) Fixed the quoted healthy example (line ~114) to include the pending-bytes suffix the code now appends. Previously the prose only documented the probe-failed shape, missing the PR's own headline cases (never-run). Proof: grep -n 'never-run' proxmox-monitor.prose.md now returns two lines (lines 106 and 108), documenting both never-run variants. Branch: fix/pbs-gc-liveness-signal-20260919
This commit is contained in:
@@ -110,8 +110,26 @@ The new `proxmox-monitor.sh` leg checks storepve-datastore GC health:
|
|||||||
- Reads GC state from CT 107: `pct exec 107 -- proxmox-backup-manager garbage-collection list --output-format json`
|
- Reads GC state from CT 107: `pct exec 107 -- proxmox-backup-manager garbage-collection list --output-format json`
|
||||||
- **FAILS** if `last-run-endtime` is older than 48 hours
|
- **FAILS** if `last-run-endtime` is older than 48 hours
|
||||||
- Reports age in hours and pending-bytes
|
- Reports age in hours and pending-bytes
|
||||||
- A failed probe (000/timeout) is reported as `probe-failed: storepve:192.168.68.6 (expected JSON, got 000)` — **never** rendered as "GC stale"
|
|
||||||
- The healthy branch prints an explicit healthy line: `✅ PBS GC: healthy (last run Xh ago)`
|
**All six verdict shapes** (exactly as emitted by the script):
|
||||||
|
|
||||||
|
1. **Healthy** (fresh GC, 0 B pending):
|
||||||
|
`✅ PBS GC: healthy (last run 1h ago, pending-bytes: 0 B)`
|
||||||
|
|
||||||
|
2. **Stale** (GC ran >48h ago):
|
||||||
|
`🔴 PBS GC: stale (last run 49h ago, pending-bytes: 1048576 B)`
|
||||||
|
|
||||||
|
3. **Probe-failed: empty read** (000/timeout/unreadable):
|
||||||
|
`🔴 PBS GC: probe-failed: storepve:192.168.68.6 (expected JSON, got 000)`
|
||||||
|
|
||||||
|
4. **Probe-failed: unparseable** (non-empty but invalid JSON — the "command not found" case):
|
||||||
|
`🔴 PBS GC: probe-failed: storepve:192.168.68.6 (unparseable JSON)`
|
||||||
|
|
||||||
|
5. **Never-run: datastore absent** (valid JSON but storepve-datastore not in list):
|
||||||
|
`🔴 PBS GC: never-run (storepve-datastore not found in GC list)`
|
||||||
|
|
||||||
|
6. **Never-run: no endtime** (valid JSON with datastore present but last-run-endtime is null/0):
|
||||||
|
`🔴 PBS GC: never-run (storepve-datastore has no last-run-endtime)`
|
||||||
|
|
||||||
## Operations
|
## Operations
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user