-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
⚠️ KCP: block upgrade to versions with old registry, improve registry handling #7856
⚠️ KCP: block upgrade to versions with old registry, improve registry handling #7856
Conversation
/cherry-pick release-1.3 |
@sbueringer: once the present PR merges, I will cherry-pick it on top of release-1.3 in a new PR and assign it to you. 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. |
/cherry-pick release-1.2 |
@sbueringer: once the present PR merges, I will cherry-pick it on top of release-1.2 in a new PR and assign it to you. 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. |
5a6c699
to
0ec1648
Compare
/test pull-cluster-api-e2e-full-main |
@CecileRobertMichon @killianmuldoon @fabriziopandini @ykakarap Please take a look when you have some time. I missed the most important part yesterday in the office hours unfortunately. Which is that if the user delegates the management of the registry to us / kubeadm (by not setting imageRepository) we will now block upgrades to versions which would use the old registry. Those are the exact cases that are failing with v1.3.0 & >= v1.2.8. Additionally this PR improves KCP to be able to handle clusters if they already have one of those versions. I personally have no pressure to get it out but it might be nice to get this PR out with the patch releases next Tuesday (to avoid more users running into the registry issue), WDYT? |
cc @kubernetes-sigs/cluster-api-release-team |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Would be nice to get the fix in before the next patch releases.
Hopefully we can get merged on Monday so that we have enough signal before we cut the releases on Tuesday.
LGTM label has been added. Git tree hash: 79ff466df1b2fefdf27eaaba5c0979243d4989d7
|
How about a similar validation in Cluster topology? With this fix, if a user who is using a managed Cluster updates the version to an undesired version, the change will pass cluster topology validation but the topology reconciler will keep failing because KCP rejects this change. We need to find a balance between having good UX for the user and how much of KCP validations should be bring into Cluster topology. |
To be honest, I wouldn't bring any of this validation into Cluster topology. The validation is essentially:
This means we have to get all this information in the Cluster webhook, most notably we have to:
I think we can and have to live with the UX that the reconciliation will fail. It's better than nothing and for all new versions the validation is not needed anyway (i.e. >= v1.22.17, >= v1.23.15, >= v1.24.9, >= v1.25.0) We also have so much more validation in our KCP, MD, ... webhooks that is not covered by our Cluster webhook. The only way to adress this generically is to run the entire reconcile with SSA dry-run calls in the webhook, but I don't think we want to do that. |
controlplane/kubeadm/api/v1beta1/kubeadm_control_plane_webhook_test.go
Outdated
Show resolved
Hide resolved
controlplane/kubeadm/api/v1beta1/kubeadm_control_plane_webhook_test.go
Outdated
Show resolved
Hide resolved
controlplane/kubeadm/api/v1beta1/kubeadm_control_plane_webhook_test.go
Outdated
Show resolved
Hide resolved
handling Signed-off-by: Stefan Büringer buringerst@vmware.com
ef21c3d
to
f9b3306
Compare
Squashed |
/cherry-pick release-1.3 |
@sbueringer: once the present PR merges, I will cherry-pick it on top of release-1.3 in a new PR and assign it to you. 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. |
/cherry-pick release-1.2 |
@sbueringer: once the present PR merges, I will cherry-pick it on top of release-1.2 in a new PR and assign it to you. 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. |
/lgtm Thanks again for the great work of research behind this PR |
LGTM label has been added. Git tree hash: b6501fb74ae9a15d5923f9dbf6ad316d412fe3a9
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fabriziopandini 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 |
@sbueringer: new pull request created: #7871 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. |
@sbueringer: #7856 failed to apply on top of branch "release-1.2":
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. |
Signed-off-by: Stefan Büringer buringerst@vmware.com
What this PR does / why we need it:
This PR results in the following change of behavior:
Because 1. only blocks cases that were broken with v1.3.0 and v1.2.8 I guess this is technically not a breaking change.
Notes:
pull-cluster-api-e2e-main
)Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Part of #7833