-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
Describe the bug
ControllerManager/DefaultController do not throw/retry if any of controllers fails preFlightCheck.
DefaultController silently exits run() func, ControllerManager doesn't do anything about it, doesn't re-try or throw also.
There is no way for outside consumer to figure out if all controllers have been started fine or not and retry if not.
Client Version
18
Kubernetes Version
1.26
Java Version
Java 11
To Reproduce
Hard repro, API server REST call timeout caused this.
Expected behavior
Client/consumer of ControllerManager should be able to specify what happens in case not all controllers start successfully - best effort or hard fail ControllerManager.run(). Expose running status of controllers. Exception in preFlightCheck should be propagated to client or client is able to provide custom handler - for individual controller and combined all failures of controllers registered in ControllerManager,