Skip to content

Commit c25dc57

Browse files
authored
only skip upgrade if failed before after recheck version (#2755)
1 parent 2e39812 commit c25dc57

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

pkg/cluster/majorversionupgrade.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,6 @@ func (c *Cluster) majorVersionUpgrade() error {
127127
return nil
128128
}
129129

130-
if _, exists := c.ObjectMeta.Annotations[majorVersionUpgradeFailureAnnotation]; exists {
131-
c.logger.Infof("last major upgrade failed, skipping upgrade")
132-
return nil
133-
}
134-
135130
if !isInMainternanceWindow(c.Spec.MaintenanceWindows) {
136131
c.logger.Infof("skipping major version upgrade, not in maintenance window")
137132
return nil
@@ -162,10 +157,19 @@ func (c *Cluster) majorVersionUpgrade() error {
162157

163158
// Recheck version with newest data from Patroni
164159
if c.currentMajorVersion >= desiredVersion {
160+
if _, exists := c.ObjectMeta.Annotations[majorVersionUpgradeFailureAnnotation]; exists { // if failure annotation exists, remove it
161+
c.removeFailuresAnnotation()
162+
c.logger.Infof("removing failure annotation as the cluster is already up to date")
163+
}
165164
c.logger.Infof("recheck cluster version is already up to date. current: %d, min desired: %d", c.currentMajorVersion, desiredVersion)
166165
return nil
167166
}
168167

168+
if _, exists := c.ObjectMeta.Annotations[majorVersionUpgradeFailureAnnotation]; exists {
169+
c.logger.Infof("last major upgrade failed, skipping upgrade")
170+
return nil
171+
}
172+
169173
isUpgradeSuccess := true
170174
numberOfPods := len(pods)
171175
if allRunning && masterPod != nil {

0 commit comments

Comments
 (0)