🐛 Mitigate managedFields apiserver issue for SSA#13338
🐛 Mitigate managedFields apiserver issue for SSA#13338sbueringer wants to merge 1 commit intokubernetes-sigs:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
2d4bdda to
35e6d96
Compare
35e6d96 to
05e34a3
Compare
094ac30 to
9ada25b
Compare
|
/test pull-cluster-api-e2e-main-gke |
a9518f8 to
e1f05f6
Compare
39c5c8b to
efccec0
Compare
Signed-off-by: Stefan Büringer buringerst@vmware.com
efccec0 to
11817f5
Compare
|
/test pull-cluster-api-e2e-main-gke |
|
@sbueringer: 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. 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. I understand the commands that are listed here. |
| func (r *Reconciler) reconcileDelete(ctx context.Context, s *scope) (ctrl.Result, error) { | ||
| machineSet := s.machineSet | ||
| machineList := s.machines | ||
| if !s.getAndAdoptMachinesForMachineSetSucceeded { |
There was a problem hiding this comment.
I was thinking about getting rid of getAndAdoptMachinesForMachineSetSucceeded (and the same field in the MD controller) in a follow-up. But we cannot do that because there is still code that has to check for it
What this PR does / why we need it:
Through an issue in kube-apiserver (kubernetes/kubernetes#136919) it can happen that managedFields of objects are dropped.
This is problematic for cases where core CAPI is using SSA to continuously update objects.
This PR mitigates this issue by restoring managedFields for all cases where we use SSA.
Once the issue is fixed in kube-apiserver and our min supported version matches accordingly we can remove this code again.
The following objects are affected:
For classy clusters:
For all clusters:
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Fixes #