-
Notifications
You must be signed in to change notification settings - Fork 1.4k
⚠️ KCP tolerates diff not leading to changes on machines #12402
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 tolerates diff not leading to changes on machines #12402
Conversation
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.
Looks like an improvement that could lead to much less churn for KCP. 👍🏻
Could we spell "omittable" with two t's?
|
/test |
|
@fabriziopandini: The The following commands are available to trigger optional jobs: Use 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-sigs/prow repository. |
|
/test pull-cluster-api-e2e-conformance-ci-latest-main |
|
Thx! /lgtm |
|
LGTM label has been added. Git tree hash: 814618a7ee855321e9cbe2b6aa4001ce7ab11d89
|
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: sbueringer 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 |
What this PR does / why we need it:
As of today KCP perform a verbatin comparison between current and desired state of machines, and in case of diffs it triggers a rollout.
With this PR we are making the comparison smarter and ignore diff that are not leading to actual changes on machines.
e.g.
files: []orfiles: nillare different from a golang point of view, but they lead to the same cloud-init file on the machine, so KCP should not rollout in this case.Please note that this change will also fix infinite rollouts that might be introduced when we drop the DefaulterRemoveUnknownOrOmitableFields from web hooks
Also, note that in a follow up iteration I would like to move tests currently implemented in the cloudinit package near to the new feature in kcp, but this is not in the critical path to unblock work on optional/required & last changed in webhook option.
/area provider/control-plane-kubeadm
Part of #10852