-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make controller clients more resilient to token changes #3498
Comments
I question that we view this as p2 1.5 years later :) |
more things are using controllers now. I'd call it p1 |
Could you provide steps to reproduce the situation which currently leads to failure? |
with the controllers running, remove the service account tokens in the openshift-infra or kube-system namespaces. the controllers start encountering 401 errors, but do not exit, which would allow them to pick up new valid credentials |
I have OpenShift 3.7 all-on-one setup. I've created deployment via
and got
There are no secrets in
but there's a bunch of them in
I've deleted the two
I have redeployed with
but things are still passing:
with no (relevant) errors in the node log. What should I have done differently to reproduce the issue? |
kube-system :) The errors would appear in the controllers log. For example, deleting the build-controller-* secrets would disrupt the build controller. |
Auch. Sorry about that.
I've deleted
and that seems to have disrupted the
Where do I find the controller logs? In the
|
in whatever process is running the openshift controllers, which depends on your setup method:
|
Thanks, I've got the reproducer and the error messages now. As for
is the re-retrieval of the token already done somewhere in the code base so that we could reuse the same code, or is this the first time something like this is implemented in Kubernetes/OpenShift? |
Observation on Kubernetes master: when
If I keep creating pods from
via Does this mean that Kubernetes addressed (at least some of) the issue in the latest version and OpenShift will get it in 3.8? Or am I way off in trying to reproduce and observe the behaviour? |
No. The tokens get recreated, but a running controller manager keeps trying to use the old tokens until restarted. |
Ah, mea culpa, I was using pod file when I wanted to work with replication controller file. With
I see the |
What's the preferred method to go about it? Should the individual controllers exit when they start getting Or should we add a way for the controller manager to call into the controllers and pass the new tokens to the client objects? |
not sure... if it were easy we would have done it earlier :) options that immediately come to mind:
|
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
/unassign |
Controllers are using service account tokens to make API calls for builds/deployments/replication controllers.
There are circumstances where their API tokens are no longer valid:
Under those circumstances, the infrastructure components should be able to obtain an updated token without requiring the admin to manually delete/recreate tokens or restart the server.
The text was updated successfully, but these errors were encountered: