Skip to content

Commit 65ddf10

Browse files
author
zouyee
committed
add tombstoones handle for pdb
Signed-off-by: Zou Nengren <[email protected]>
1 parent 39929d8 commit 65ddf10

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

pkg/controller/disruption/disruption.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"time"
2222

2323
apps "k8s.io/api/apps/v1beta1"
24-
"k8s.io/api/core/v1"
24+
v1 "k8s.io/api/core/v1"
2525
"k8s.io/api/extensions/v1beta1"
2626
policy "k8s.io/api/policy/v1beta1"
2727
apiequality "k8s.io/apimachinery/pkg/api/equality"
@@ -363,7 +363,19 @@ func (dc *DisruptionController) updateDb(old, cur interface{}) {
363363
}
364364

365365
func (dc *DisruptionController) removeDb(obj interface{}) {
366-
pdb := obj.(*policy.PodDisruptionBudget)
366+
pdb, ok := obj.(*policy.PodDisruptionBudget)
367+
if !ok {
368+
tombstone, ok := obj.(cache.DeletedFinalStateUnknown)
369+
if !ok {
370+
klog.Errorf("Couldn't get object from tombstone %+v", obj)
371+
return
372+
}
373+
pdb, ok = tombstone.Obj.(*policy.PodDisruptionBudget)
374+
if !ok {
375+
klog.Errorf("Tombstone contained object that is not a pdb %+v", obj)
376+
return
377+
}
378+
}
367379
klog.V(4).Infof("remove DB %q", pdb.Name)
368380
dc.enqueuePdb(pdb)
369381
}

0 commit comments

Comments
 (0)