Skip to content

Commit 53fb540

Browse files
sdudoladovSergey Dudoladov
andauthored
Add basic retry around switchover (zalando#1510)
* add basic retry around switchover Co-authored-by: Sergey Dudoladov <[email protected]>
1 parent ebb3204 commit 53fb540

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

pkg/cluster/pod.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,19 @@ func (c *Cluster) MigrateMasterPod(podName spec.NamespacedName) error {
304304
}
305305

306306
masterCandidateName := util.NameFromMeta(masterCandidatePod.ObjectMeta)
307-
if err := c.Switchover(oldMaster, masterCandidateName); err != nil {
308-
return fmt.Errorf("could not failover to pod %q: %v", masterCandidateName, err)
307+
err = retryutil.Retry(1*time.Minute, 5*time.Minute,
308+
func() (bool, error) {
309+
err := c.Switchover(oldMaster, masterCandidateName)
310+
if err != nil {
311+
c.logger.Errorf("could not failover to pod %q: %v", masterCandidateName, err)
312+
return false, nil
313+
}
314+
return true, nil
315+
},
316+
)
317+
318+
if err != nil {
319+
return fmt.Errorf("could not migrate master pod: %v", err)
309320
}
310321

311322
return nil

0 commit comments

Comments
 (0)