-
Kubernetes Submit Queue authored
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Remove setInitError. **What this PR does / why we need it**: Removes setInitError, it's not sure it was ever really used, and it causes the kubelet to hang and get wedged. **Which issue(s) this PR fixes** Fixes #46086 **Special notes for your reviewer**: If `initializeModules()` in `kubelet.go` encounters an error, it calls `runtimeState.setInitError(...)` https://github.com/kubernetes/kubernetes/blob/47d61ef472529d0adb3ebee1cc3d2c450d94c88e/pkg/kubelet/kubelet.go#L1339 The trouble with this is that `initError` is never cleared, which means that `runtimeState.runtimeErrors()` always returns this `initError`, and thus pods never start sync-ing. In normal operation, this is expected and desired because eventually the runtime is expected to become healthy, but in this case, `initError` is never updated, and so the system just gets wedged. https://github.com/kubernetes/kubernetes/blob/47d61ef472529d0adb3ebee1cc3d2c450d94c88e/pkg/kubelet/kubelet.go#L1751 We could add some retry to `initializeModules()` but that seems unnecessary, as eventually we'd want to just die anyway. Instead, just log fatal and die, a supervisor will restart us. Note, I'm happy to add some retry here too, if that makes reviewers happier. **Release note**: ```release-note Prevent kubelet from getting wedged if initialization of modules returns an error. ``` @feiskyer @dchen1107 @janetkuo @kubernetes/sig-node-bugs