mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
c6364dd453
Fixes #1341 (reopened) When the same Ceph cluster is reported by both the Proxmox API poller (instance "pve5") and a Pulse host-agent (instance "agent:pve5"), it landed in state twice under two pool-ID namespaces ("pve5-ceph-pool-X" vs "agent:pve5-ceph-pool-X"). The frontend collapsed them via an FSID dedup whose winner was chosen by a fluctuating completeness score, but alert evaluation ran on the raw, un-deduped list (andce1607694added a third check on the raw agent cluster). So: - the threshold UI row identity flipped between the two pool IDs as the dedup winner oscillated, making a saved per-pool override appear to revert between the custom value and the storage default; and - both pool IDs were alert-checked under independent lifecycles, producing duplicate, flapping active alerts. Make alert evaluation and the frontend consume the same deterministic FSID-deduplicated Ceph view (DedupeCephClusters), preferring the authoritative non-agent identity so a pool has exactly one ID. Route the agent-report and mock alert paths through GetDedupedCephClusters, and honor the legacy "agent:"-prefixed override key for the surviving pool so existing thresholds keep firing without manual re-entry. Retires thece1607694agent-only check path.