Commit 1c65d1df authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #34694 from gmarek/deleted_final_state_unknown

Automatic merge from submit-queue Handle DeletedFinalStateUnknown in NodeController Fix #34692 ```release-note Fix panic in NodeController caused by receiving DeletedFinalStateUnknown object from the cache. ``` cc @davidopp
parents aa485ce8 8b7e9d30
...@@ -294,7 +294,20 @@ func NewNodeController( ...@@ -294,7 +294,20 @@ func NewNodeController(
return return
} }
node := obj.(*api.Node) node, isNode := obj.(*api.Node)
// We can get DeletedFinalStateUnknown instead of *api.Node here and we need to handle that correctly. #34692
if !isNode {
deletedState, ok := obj.(cache.DeletedFinalStateUnknown)
if !ok {
glog.Errorf("Received unexpected object: %v", obj)
return
}
node, ok = deletedState.Obj.(*api.Node)
if !ok {
glog.Errorf("DeletedFinalStateUnknown contained non-Node object: %v", deletedState.Obj)
return
}
}
if err := nc.cidrAllocator.ReleaseCIDR(node); err != nil { if err := nc.cidrAllocator.ReleaseCIDR(node); err != nil {
glog.Errorf("Error releasing CIDR: %v", err) glog.Errorf("Error releasing CIDR: %v", err)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment