🐛 KCP: stop reconciling ObjectMeta into the KCP machine template #5187
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: Stefan Büringer [email protected]
What this PR does / why we need it:
The intention of the KCP code is to propagate the ObjectMeta from
kcp.Spec.MachineTemplate.ObjectMeta
to the control plane machines.During the machine generation we add a few additional labels/annotations. Unfortunately, we used same map from KCP to add the labels/annotations. So while we wanted to calculate labels/annotations for a new machine we also modified the in-memory ObjectMeta of
kcp.Spec.MachineTemplate.ObjectMeta
. Later on KCP was automatically patched a few layers above in the call stack.This PR makes sure we copy the labels/annotations into a new map.
Note:
kcp.Spec.MachineTemplate.ObjectMeta.{labels,annotations}
was set. It then lead to an additional rollout, i.e. when creating a new KCP a new machine was created and automatically replaced by another new machine.kcp.Spec.MachineTemplate.ObjectMeta
"reconciliation"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 #