-
Notifications
You must be signed in to change notification settings - Fork 2.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
Revert "Use Update() instead of UpdateStatus()" #11127
Revert "Use Update() instead of UpdateStatus()" #11127
Conversation
This reverts commit 6ec5070. Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: stevekuznetsov The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Doesn't this require 1.13? |
No, I require a basic amount of reading comprehension 🤦♂️ The page just said 1.13 had it in beta, not that it transitioned to beta in 1.13 |
Can you find a doc that lists when it went to beta? I tried but cannot find it. We can't use alpha apis in GKE (or if we do, our cluster gets periodically deleted) |
@munnerz had the links for that So, some fun facts: when you update the CRD definition to include a status subresource, update calls will no longer update status at all @nikhita is there a reasonable way to roll out a change like this without downtime? |
do both an Update and UpdateStatus call? |
I can confirm that this has been in beta from 1.11. :) (Though I agree it'd be neat to show since when it has been in beta in the official docs)
@stevekuznetsov Re Update and UpdateStatus, the (breaking) change in behaviour is expected because the controller should be able to write the status, and only read the spec and users should be able to write the spec, but only read the status. I would argue that if the controller is also updating the spec or vice-versa, then that behaviour should be fixed. :) |
@nikhita the breaking issue is as such:
I see these timelines:
This fails as the controllers will error on their
This fails as the controllers will hot-loop on their |
Will the controller's rate limiters not kick in and start backing-off processing these items? It's not really an ideal solution, but at least if you update the CRDs first, you will have the controllers returning errors (and thus rate limiting) whereas with the first strategy, the call to Update() will just silently throw away the status information. Very much interested in the resolution here, as I want to move cert-manager to use |
Our "controllers" are just for loops so there are no rate limiters 🤦♂️ |
If you version the CRD can you add the |
Looks like you might be able to..
|
🤔 not sure if versioning for subresources is available as far back as 1.11 however... |
Seems pretty clear here:
|
/hold Can tackle later |
@stevekuznetsov: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@stevekuznetsov: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
Not super urgent and high risk for disruption /close |
@stevekuznetsov: Closed this PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This reverts commit 6ec5070.
Signed-off-by: Steve Kuznetsov skuznets@redhat.com
fixes #11093
/assign @cjwagner @fejta @munnerz
/cc @BenTheElder @krzyzacy