func renewLeadership(l lease.Lease, ttl time.Duration) lease.Lease { err := l.Renew(ttl) if err != nil { log.Errorf("Engine leadership lost, renewal failed: %v", err) return nil } log.Debugf("Engine leadership renewed") return l }
func rpcRenewLeadership(lManager lease.Manager, l lease.Lease, ver int, ttl time.Duration) lease.Lease { err := l.Renew(ttl) if err != nil { if eerr, ok := err.(*etcdErr.Error); ok && eerr.ErrorCode == etcdErr.EcodeKeyNotFound { log.Errorf("Retry renew etcd operation that failed due to %v", err) l, err = lManager.AcquireLease(engineLeaseName, l.MachineID(), ver, ttl) if err != nil { log.Errorf("Engine leadership re-acquisition failed: %v", err) return nil } else if l == nil { log.Infof("Unable to re-acquire engine leadership") return nil } log.Infof("Engine leadership re-acquired") return l } else { log.Errorf("Engine leadership lost, renewal failed: %v", err) return nil } } log.Debugf("Engine leadership renewed") return l }