mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
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
This commit is contained in:
commit
1c65d1df86
@ -294,7 +294,20 @@ func NewNodeController(
|
||||
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 {
|
||||
glog.Errorf("Error releasing CIDR: %v", err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user