Files
kubernetes/pkg
Kubernetes Submit Queue a18f086220 Merge pull request #59020 from brendandburns/kubelet-hang
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(...)`

47d61ef472/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.

47d61ef472/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
2018-01-30 14:56:28 -08:00
..
2017-12-23 13:12:11 -08:00
2017-12-23 13:12:11 -08:00
2018-01-24 16:45:23 +08:00
2017-12-23 13:12:11 -08:00
2017-12-23 13:12:11 -08:00
2017-12-23 13:12:11 -08:00
2018-01-29 10:07:37 -08:00
2018-01-30 14:50:19 +08:00
2017-10-15 18:18:13 -07:00
2018-01-17 16:23:03 +08:00