Skip to content

Commit

Permalink
Ensure ingress cleanup when finalizer exists
Browse files Browse the repository at this point in the history
  • Loading branch information
skmatti committed Jun 9, 2020
1 parent 26e1c08 commit 4463098
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions pkg/controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,20 +165,22 @@ func NewLoadBalancerController(
UpdateFunc: func(old, cur interface{}) {
curIng := cur.(*v1beta1.Ingress)
if !utils.IsGLBCIngress(curIng) {
oldIng := old.(*v1beta1.Ingress)
// If ingress was GLBC Ingress, we need to track ingress class change
// and run GC to delete LB resources.
if utils.IsGLBCIngress(oldIng) {
klog.V(4).Infof("Ingress %v class was changed, enqueuing", common.NamespacedName(curIng))
// Ingress needs to be enqueued if a ingress finalizer exists.
// An existing finalizer means that
// 1. Ingress update for class change.
// 2. Ingress cleanup failed and re-queued.
// 3. Finalizer remove failed nad re-queued.
if common.HasFinalizer(curIng.ObjectMeta) {
klog.V(2).Infof("Ingress %s class was changed but has a finalizer, enqueuing", common.NamespacedName(curIng))
lbc.ingQueue.Enqueue(cur)
return
}
return
}
if reflect.DeepEqual(old, cur) {
klog.V(3).Infof("Periodic enqueueing of %v", common.NamespacedName(curIng))
klog.V(3).Infof("Periodic enqueueing of %s", common.NamespacedName(curIng))
} else {
klog.V(3).Infof("Ingress %v changed, enqueuing", common.NamespacedName(curIng))
klog.V(3).Infof("Ingress %s changed, enqueuing", common.NamespacedName(curIng))
}

lbc.ingQueue.Enqueue(cur)
Expand Down

0 comments on commit 4463098

Please sign in to comment.