From cd5779a2b1e9c9c4d6bc1d22dd64f38bebf0dceb Mon Sep 17 00:00:00 2001 From: David Oppenheimer Date: Thu, 13 Oct 2016 18:38:15 -0700 Subject: [PATCH] Make NodeController recognize deletion tombstones. --- pkg/controller/node/controller_utils.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/controller/node/controller_utils.go b/pkg/controller/node/controller_utils.go index 786c8d7cd16..0d7bae3a75e 100644 --- a/pkg/controller/node/controller_utils.go +++ b/pkg/controller/node/controller_utils.go @@ -118,7 +118,16 @@ func forcefullyDeleteNode(kubeClient clientset.Interface, nodeName string, force func (nc *NodeController) maybeDeleteTerminatingPod(obj interface{}) { pod, ok := obj.(*api.Pod) if !ok { - return + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if !ok { + glog.Errorf("Couldn't get object from tombstone %#v", obj) + return + } + pod, ok = tombstone.Obj.(*api.Pod) + if !ok { + glog.Errorf("Tombstone contained object that is not a Pod %#v", obj) + return + } } // consider only terminating pods