fix: prevent spurious rolling updates from revision serialization differences due to 1.34 API modification#798
Conversation
…ferences due to 1.34 API modification Signed-off-by: rudeigerc <rudeigerc@gmail.com>
✅ Deploy Preview for kubernetes-sigs-lws canceled.
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: rudeigerc The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Welcome @rudeigerc! |
|
Hi @rudeigerc. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions 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. |
|
/ok-to-test |
|
/test pull-lws-test-integration-main |
What type of PR is this?
/kind bug
What this PR does / why we need it
When upgrading the LWS controller across client-go versions,
ControllerRevision.Data.Rawcan change in semantically irrelevant ways. The existingEqualRevisionperforms a raw-bytes comparison and treats these differences as spec changes, causinggetUpdatedRevisionto trigger unnecessary rolling updates.This PR adds a semantic equivalence check as a fallback when raw-bytes comparison fails, adapting the approach from kubernetes/kubernetes#135017 for the upstream StatefulSet controller.
Which issue(s) this PR fixes
Fixes #797
Special notes for your reviewer
Does this PR introduce a user-facing change?
/cc @Edwinhr716 @ahg-g @kerthcet