Don't exit while synchronizing calico ippool

Signed-off-by: Duan Jiong <djduanjiong@gmail.com>
This commit is contained in:
Duan Jiong
2021-02-23 11:25:36 +08:00
parent a4310e67ee
commit 78c7b81ce5
2 changed files with 15 additions and 6 deletions

View File

@@ -339,12 +339,14 @@ func (c *IPPoolController) processIPPoolItem() bool {
if err == nil {
c.ippoolQueue.Forget(key)
return true
} else if delay != nil {
c.ippoolQueue.AddAfter(key, *delay)
}
if delay != nil {
c.ippoolQueue.AddAfter(key, *delay)
} else {
c.ippoolQueue.AddRateLimited(key)
}
utilruntime.HandleError(fmt.Errorf("error processing ippool %v (will retry): %v", key, err))
c.ippoolQueue.AddRateLimited(key)
return true
}

View File

@@ -695,9 +695,16 @@ func NewProvider(podInformer informercorev1.PodInformer, ksclient kubesphereclie
})
p.block = blockI
if err := p.syncIPPools(); err != nil {
klog.Fatalf("failed to sync calico ippool to kubesphere ippool, err=%v", err)
}
go func() {
for {
if err := p.syncIPPools(); err != nil {
klog.Infof("failed to sync calico ippool to kubesphere ippool, err=%v", err)
time.Sleep(3 * time.Second)
continue
}
break
}
}()
return p
}