mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
5affa518a9
Follow-up to the #1341 dual-source fix. In a Proxmox cluster the Proxmox-API instance name (cluster/connection name) differs from the host-agent's node hostname, so a pool's two source identities share no prefix (e.g. `prodcluster-ceph-pool-X` vs `agent:pve5-ceph-pool-X`). The per-pool override is saved under one identity. The previous fix only toggled the `agent:` prefix, which bridges a single node but not a cluster, so when the deduped winner was the API copy the row found no override and showed the storage default. With the cluster's API Ceph source intermittently dropping (the same clustered environment as #1319), the winner oscillated and the threshold appeared to flap between the custom value (50%) and the default (80%) on the polling cadence. Carry every source instance for an FSID as `CephCluster.InstanceAliases` (populated in DedupeCephClusters) and emit the pool ID under each as `Storage.AliasIDs`. Override resolution (alert evaluation and the thresholds UI) now tries the primary ID plus every alias, so a per-pool override resolves regardless of which source currently wins. This mirrors v6's source-independent override identity. Non-breaking: existing keys resolve via aliases, no re-entry needed.