Files
esh-pfi-infrastructure/scripts
vh 5be25be081 fix(backups): stop paging on guests that are deliberately not backed up
ana-scale (CT 114) is a subnet-router LXC, excluded from vzdump on 2026-09-07
after a backup lock on its ESH counterpart blackholed that entire site. The
freshness check knew nothing about that and reported it 🔴 STALE every single
morning, which is how an alarm teaches you to ignore it.

Such guests now get their own section: printed every run, never hidden, and
not counted as a fault.

The subtlety is in how coverage is computed, and the obvious implementation is
wrong twice over:

  * Reading one job's `exclude` list gets ana CT 109 (ana-nas) exactly
    backwards. It IS excluded from the 03:00 all-guests job AND it has its own
    dedicated 22:00 job. Suppressing on the exclude list would have stopped
    alarming on a guest that is genuinely backed up -- trading a noisy alarm
    for a blind one.
  * ESH's job uses an explicit `vmid 100..107` INCLUDE list, so esh-scale 108
    is excluded by OMISSION and appears in no exclude list at all.

So coverage is a union across every enabled job on the cluster, and a guest is
"intentionally not backed up" only when none of them covers it.

If coverage cannot be read, nothing is suppressed and the gap is reported: an
unreachable PVE node means we do not know, and a backup alarm must fail loud.
The SureFire namespace is never consulted (tenant property), so its guests can
never be suppressed either.

Verified against the live fleet on all four paths: CT 114 suppressed; CT 109
NOT suppressed despite being in an exclude list; esh-vm-workstation 102, which
a job really does cover and which really is failing, still reports STALE; and
with a PVE node made unreachable, 114 returns to STALE with the gap named.
2026-09-19 05:20:14 -07:00
..