From c7528e9b89f654aca1875c269b6aecd0df37f041 Mon Sep 17 00:00:00 2001 From: Tvion Date: Tue, 4 Aug 2026 19:15:05 +0500 Subject: [PATCH] fix: [PSUPCLCAP-1102] sitemanager health do not reflects reconcile status --- operator/pkg/disasterrecovery/patroni.go | 7 +++++++ operator/pkg/helper/helper.go | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/operator/pkg/disasterrecovery/patroni.go b/operator/pkg/disasterrecovery/patroni.go index 02627466..013d802a 100644 --- a/operator/pkg/disasterrecovery/patroni.go +++ b/operator/pkg/disasterrecovery/patroni.go @@ -101,10 +101,17 @@ func (m *PatroniDRManager) processHealthRequest(response http.ResponseWriter, re if err == nil { isHealthy := m.patroniHelper.IsPatroniClusterHealthy(config) isDegraded := m.patroniHelper.IsPatroniClusterDegraded(config, m.cluster.PgHost) + reconcileSuccessfull := m.helper.GetCurrentCRStatus() == "successful" if isHealthy && !isDegraded { + log.Info("Patroni cluster is healthy") status = "up" } if isDegraded { + log.Info("Patroni cluster is degraded") + status = "degraded" + } + if !reconcileSuccessfull { + log.Info("Reconcile status is not successful, setting health status to degraded") status = "degraded" } } diff --git a/operator/pkg/helper/helper.go b/operator/pkg/helper/helper.go index bad25dfb..bbe8e52f 100644 --- a/operator/pkg/helper/helper.go +++ b/operator/pkg/helper/helper.go @@ -271,6 +271,15 @@ func (h *Helper) GetCurrentSiteManagerStatus() *qubershipv1.SiteManagerStatus { return nil } +func (h *Helper) GetCurrentCRStatus() string { + if cr, err := h.GetPostgresServiceCR(); err == nil { + if len(cr.Status.Conditions) > 0 { + return strings.ToLower(cr.Status.Conditions[0].Type) + } + } + return "" +} + // //func (h *Helper) UpdateSiteManagerStatusWithRetry(mode string, status string, clusterName string, patroniUrl string, pgHost string) error { // patroniReg := fmt.Sprintf("pg-%s-node", clusterName)