Aligns reconcile strategy for Managed() features to rely on Server-side apply rather than Update. The SSA approach is used by deploy package when reconciling kustomize resources, so keeping it the same makes sense.
The previous one, based on client.Update call, tries to overwrite the entire resource rather than using a patch operation, which can lead to errors when trying to overwrite immutable fields such as:
failed to update object test-namespace/knative-local-gateway: Service "knative-local-gateway" is invalid: [metadata.resourceVersion: Invalid value: "": must be specified for an update, spec.clusterIP: Invalid value: "": field is immutable]
Additional changes
if "managed" annotation is present in one of the resources being part of the feature it will be respected
reworked tests to be more self-descriptive. Extracted funcs were adding more hops while reading the code before understanding what was actually happening
Needs approval from an approver in each of these files:
- ~~[OWNERS](https://github.com/opendatahub-io/opendatahub-operator/blob/incubation/OWNERS)~~ [zdtsw]
Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
Description
Aligns reconcile strategy for
Managed()
features to rely on Server-side apply rather than Update. The SSA approach is used bydeploy
package when reconciling kustomize resources, so keeping it the same makes sense.The previous one, based on
client.Update
call, tries to overwrite the entire resource rather than using a patch operation, which can lead to errors when trying to overwrite immutable fields such as:Additional changes
How Has This Been Tested?
In
make
we trust.Screenshot or short clip
Merge criteria