From 41f5fe1dc93fb33b2bca98590a3227bde4fd6949 Mon Sep 17 00:00:00 2001 From: Polina Bungina <27892524+hughcapet@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:05:39 +0200 Subject: [PATCH] More major upgrade prechecks (#2775) Skip when - it is a standby clusters - there is no master in the cluster --- pkg/cluster/majorversionupgrade.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/cluster/majorversionupgrade.go b/pkg/cluster/majorversionupgrade.go index e8876dc4..ad431acc 100644 --- a/pkg/cluster/majorversionupgrade.go +++ b/pkg/cluster/majorversionupgrade.go @@ -145,6 +145,11 @@ func (c *Cluster) majorVersionUpgrade() error { for i, pod := range pods { ps, _ := c.patroni.GetMemberData(&pod) + if ps.Role == "standby_leader" { + c.logger.Errorf("skipping major version upgrade for %s/%s standby cluster. Re-deploy standby cluster with the required Postgres version specified", c.Namespace, c.Name) + return nil + } + if ps.State != "running" { allRunning = false c.logger.Infof("identified non running pod, potentially skipping major version upgrade") @@ -156,6 +161,11 @@ func (c *Cluster) majorVersionUpgrade() error { } } + if masterPod == nil { + c.logger.Infof("no master in the cluster, skipping major version upgrade") + return nil + } + // Recheck version with newest data from Patroni if c.currentMajorVersion >= desiredVersion { if _, exists := c.ObjectMeta.Annotations[majorVersionUpgradeFailureAnnotation]; exists { // if failure annotation exists, remove it -- GitLab