Skip to content

Commit 41f5fe1

Browse files
authored
More major upgrade prechecks (#2775)
Skip when - it is a standby clusters - there is no master in the cluster
1 parent 3ca8667 commit 41f5fe1

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

pkg/cluster/majorversionupgrade.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,11 @@ func (c *Cluster) majorVersionUpgrade() error {
145145
for i, pod := range pods {
146146
ps, _ := c.patroni.GetMemberData(&pod)
147147

148+
if ps.Role == "standby_leader" {
149+
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)
150+
return nil
151+
}
152+
148153
if ps.State != "running" {
149154
allRunning = false
150155
c.logger.Infof("identified non running pod, potentially skipping major version upgrade")
@@ -156,6 +161,11 @@ func (c *Cluster) majorVersionUpgrade() error {
156161
}
157162
}
158163

164+
if masterPod == nil {
165+
c.logger.Infof("no master in the cluster, skipping major version upgrade")
166+
return nil
167+
}
168+
159169
// Recheck version with newest data from Patroni
160170
if c.currentMajorVersion >= desiredVersion {
161171
if _, exists := c.ObjectMeta.Annotations[majorVersionUpgradeFailureAnnotation]; exists { // if failure annotation exists, remove it

0 commit comments

Comments
 (0)