mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-08 03:33:56 +00:00
Fix infinte loop in federated ingress controller
This commit is contained in:
parent
305528d7fd
commit
d3155002b8
@ -352,6 +352,12 @@ func (ic *IngressController) Run(stopChan <-chan struct{}) {
|
|||||||
ic.ingressFederatedInformer.Stop()
|
ic.ingressFederatedInformer.Stop()
|
||||||
glog.Infof("Stopping ConfigMap Federated Informer")
|
glog.Infof("Stopping ConfigMap Federated Informer")
|
||||||
ic.configMapFederatedInformer.Stop()
|
ic.configMapFederatedInformer.Stop()
|
||||||
|
glog.Infof("Stopoing ingress deliverer")
|
||||||
|
ic.ingressDeliverer.Stop()
|
||||||
|
glog.Infof("Stopping configmap deliverer")
|
||||||
|
ic.configMapDeliverer.Stop()
|
||||||
|
glog.Infof("Stopping cluster deliverer")
|
||||||
|
ic.clusterDeliverer.Stop()
|
||||||
}()
|
}()
|
||||||
ic.ingressDeliverer.StartWithHandler(func(item *util.DelayingDelivererItem) {
|
ic.ingressDeliverer.StartWithHandler(func(item *util.DelayingDelivererItem) {
|
||||||
ingress := item.Value.(types.NamespacedName)
|
ingress := item.Value.(types.NamespacedName)
|
||||||
@ -388,7 +394,7 @@ func (ic *IngressController) deliverIngressObj(obj interface{}, delay time.Durat
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ic *IngressController) deliverIngress(ingress types.NamespacedName, delay time.Duration, failed bool) {
|
func (ic *IngressController) deliverIngress(ingress types.NamespacedName, delay time.Duration, failed bool) {
|
||||||
glog.V(4).Infof("Delivering ingress: %s", ingress)
|
glog.V(4).Infof("Delivering ingress: %s with delay: %v error: %v", ingress, delay, failed)
|
||||||
key := ingress.String()
|
key := ingress.String()
|
||||||
if failed {
|
if failed {
|
||||||
ic.ingressBackoff.Next(key, time.Now())
|
ic.ingressBackoff.Next(key, time.Now())
|
||||||
@ -681,7 +687,7 @@ func (ic *IngressController) reconcileIngress(ingress types.NamespacedName) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Failed to ensure delete object from underlying clusters finalizer in ingress %s: %v",
|
glog.Errorf("Failed to ensure delete object from underlying clusters finalizer in ingress %s: %v",
|
||||||
baseIngress.Name, err)
|
baseIngress.Name, err)
|
||||||
ic.deliverIngress(ingress, 0, false)
|
ic.deliverIngress(ingress, 0, true)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
baseIngress = updatedIngressObj.(*extensions_v1beta1.Ingress)
|
baseIngress = updatedIngressObj.(*extensions_v1beta1.Ingress)
|
||||||
@ -845,7 +851,6 @@ func (ic *IngressController) reconcileIngress(ingress types.NamespacedName) {
|
|||||||
if len(operations) == 0 {
|
if len(operations) == 0 {
|
||||||
// Everything is in order
|
// Everything is in order
|
||||||
glog.V(4).Infof("Ingress %q is up-to-date in all clusters - no propagation to clusters required.", ingress)
|
glog.V(4).Infof("Ingress %q is up-to-date in all clusters - no propagation to clusters required.", ingress)
|
||||||
ic.deliverIngress(ingress, ic.ingressReviewDelay, false)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
glog.V(4).Infof("Calling federatedUpdater.Update() - operations: %v", operations)
|
glog.V(4).Infof("Calling federatedUpdater.Update() - operations: %v", operations)
|
||||||
|
Loading…
Reference in New Issue
Block a user