diff --git a/client/injection/apiextensions/reconciler/apiextensions/v1/customresourcedefinition/reconciler.go b/client/injection/apiextensions/reconciler/apiextensions/v1/customresourcedefinition/reconciler.go index ffc2b02225..73e3932801 100644 --- a/client/injection/apiextensions/reconciler/apiextensions/v1/customresourcedefinition/reconciler.go +++ b/client/injection/apiextensions/reconciler/apiextensions/v1/customresourcedefinition/reconciler.go @@ -20,7 +20,6 @@ package customresourcedefinition import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.ApiextensionsV1().CustomResourceDefinitions() + updater := r.Client.ApiextensionsV1().CustomResourceDefinitions() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/apiextensions/reconciler/apiextensions/v1beta1/customresourcedefinition/reconciler.go b/client/injection/apiextensions/reconciler/apiextensions/v1beta1/customresourcedefinition/reconciler.go index c68f5f3a85..a1dcc1ec7b 100644 --- a/client/injection/apiextensions/reconciler/apiextensions/v1beta1/customresourcedefinition/reconciler.go +++ b/client/injection/apiextensions/reconciler/apiextensions/v1beta1/customresourcedefinition/reconciler.go @@ -20,7 +20,6 @@ package customresourcedefinition import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.ApiextensionsV1beta1().CustomResourceDefinitions() + updater := r.Client.ApiextensionsV1beta1().CustomResourceDefinitions() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/admissionregistration/v1/mutatingwebhookconfiguration/reconciler.go b/client/injection/kube/reconciler/admissionregistration/v1/mutatingwebhookconfiguration/reconciler.go index 136d073b11..458852be66 100644 --- a/client/injection/kube/reconciler/admissionregistration/v1/mutatingwebhookconfiguration/reconciler.go +++ b/client/injection/kube/reconciler/admissionregistration/v1/mutatingwebhookconfiguration/reconciler.go @@ -20,7 +20,6 @@ package mutatingwebhookconfiguration import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -296,26 +295,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AdmissionregistrationV1().MutatingWebhookConfigurations() + updater := r.Client.AdmissionregistrationV1().MutatingWebhookConfigurations() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/admissionregistration/v1/validatingwebhookconfiguration/reconciler.go b/client/injection/kube/reconciler/admissionregistration/v1/validatingwebhookconfiguration/reconciler.go index b3ac24f05e..233e217ea3 100644 --- a/client/injection/kube/reconciler/admissionregistration/v1/validatingwebhookconfiguration/reconciler.go +++ b/client/injection/kube/reconciler/admissionregistration/v1/validatingwebhookconfiguration/reconciler.go @@ -20,7 +20,6 @@ package validatingwebhookconfiguration import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -296,26 +295,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AdmissionregistrationV1().ValidatingWebhookConfigurations() + updater := r.Client.AdmissionregistrationV1().ValidatingWebhookConfigurations() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/admissionregistration/v1beta1/mutatingwebhookconfiguration/reconciler.go b/client/injection/kube/reconciler/admissionregistration/v1beta1/mutatingwebhookconfiguration/reconciler.go index df0ae452c0..f4d9c6bdb0 100644 --- a/client/injection/kube/reconciler/admissionregistration/v1beta1/mutatingwebhookconfiguration/reconciler.go +++ b/client/injection/kube/reconciler/admissionregistration/v1beta1/mutatingwebhookconfiguration/reconciler.go @@ -20,7 +20,6 @@ package mutatingwebhookconfiguration import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -296,26 +295,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations() + updater := r.Client.AdmissionregistrationV1beta1().MutatingWebhookConfigurations() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/admissionregistration/v1beta1/validatingwebhookconfiguration/reconciler.go b/client/injection/kube/reconciler/admissionregistration/v1beta1/validatingwebhookconfiguration/reconciler.go index c1407f2a88..c1501837e2 100644 --- a/client/injection/kube/reconciler/admissionregistration/v1beta1/validatingwebhookconfiguration/reconciler.go +++ b/client/injection/kube/reconciler/admissionregistration/v1beta1/validatingwebhookconfiguration/reconciler.go @@ -20,7 +20,6 @@ package validatingwebhookconfiguration import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -296,26 +295,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations() + updater := r.Client.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/apps/v1/deployment/reconciler.go b/client/injection/kube/reconciler/apps/v1/deployment/reconciler.go index c24c339db7..a093f5b80e 100644 --- a/client/injection/kube/reconciler/apps/v1/deployment/reconciler.go +++ b/client/injection/kube/reconciler/apps/v1/deployment/reconciler.go @@ -20,7 +20,6 @@ package deployment import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AppsV1().Deployments(resource.Namespace) + updater := r.Client.AppsV1().Deployments(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/apps/v1beta1/deployment/reconciler.go b/client/injection/kube/reconciler/apps/v1beta1/deployment/reconciler.go index 26aaadd3b9..76416c2a4b 100644 --- a/client/injection/kube/reconciler/apps/v1beta1/deployment/reconciler.go +++ b/client/injection/kube/reconciler/apps/v1beta1/deployment/reconciler.go @@ -20,7 +20,6 @@ package deployment import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AppsV1beta1().Deployments(resource.Namespace) + updater := r.Client.AppsV1beta1().Deployments(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/apps/v1beta2/deployment/reconciler.go b/client/injection/kube/reconciler/apps/v1beta2/deployment/reconciler.go index bed35bbdd5..8d51502dbe 100644 --- a/client/injection/kube/reconciler/apps/v1beta2/deployment/reconciler.go +++ b/client/injection/kube/reconciler/apps/v1beta2/deployment/reconciler.go @@ -20,7 +20,6 @@ package deployment import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.AppsV1beta2().Deployments(resource.Namespace) + updater := r.Client.AppsV1beta2().Deployments(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/batch/v1/cronjob/reconciler.go b/client/injection/kube/reconciler/batch/v1/cronjob/reconciler.go index c6c2513207..0aaba3f627 100644 --- a/client/injection/kube/reconciler/batch/v1/cronjob/reconciler.go +++ b/client/injection/kube/reconciler/batch/v1/cronjob/reconciler.go @@ -20,7 +20,6 @@ package cronjob import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.BatchV1().CronJobs(resource.Namespace) + updater := r.Client.BatchV1().CronJobs(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/batch/v1beta1/cronjob/reconciler.go b/client/injection/kube/reconciler/batch/v1beta1/cronjob/reconciler.go index 67d38711fe..c511a88be4 100644 --- a/client/injection/kube/reconciler/batch/v1beta1/cronjob/reconciler.go +++ b/client/injection/kube/reconciler/batch/v1beta1/cronjob/reconciler.go @@ -20,7 +20,6 @@ package cronjob import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.BatchV1beta1().CronJobs(resource.Namespace) + updater := r.Client.BatchV1beta1().CronJobs(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/configmap/reconciler.go b/client/injection/kube/reconciler/core/v1/configmap/reconciler.go index f6f21f73c1..1311eb9e00 100644 --- a/client/injection/kube/reconciler/core/v1/configmap/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/configmap/reconciler.go @@ -20,7 +20,6 @@ package configmap import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -295,26 +294,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().ConfigMaps(resource.Namespace) + updater := r.Client.CoreV1().ConfigMaps(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/namespace/reconciler.go b/client/injection/kube/reconciler/core/v1/namespace/reconciler.go index c2c3261e80..706f5e83e1 100644 --- a/client/injection/kube/reconciler/core/v1/namespace/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/namespace/reconciler.go @@ -20,7 +20,6 @@ package namespace import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -362,26 +361,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().Namespaces() + updater := r.Client.CoreV1().Namespaces() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/node/reconciler.go b/client/injection/kube/reconciler/core/v1/node/reconciler.go index 37896933b2..167c8fb80e 100644 --- a/client/injection/kube/reconciler/core/v1/node/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/node/reconciler.go @@ -20,7 +20,6 @@ package node import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -362,26 +361,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().Nodes() + updater := r.Client.CoreV1().Nodes() - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/pod/reconciler.go b/client/injection/kube/reconciler/core/v1/pod/reconciler.go index 0fde27003b..66e6bcd66b 100644 --- a/client/injection/kube/reconciler/core/v1/pod/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/pod/reconciler.go @@ -20,7 +20,6 @@ package pod import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -362,26 +361,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().Pods(resource.Namespace) + updater := r.Client.CoreV1().Pods(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/secret/reconciler.go b/client/injection/kube/reconciler/core/v1/secret/reconciler.go index cc5544a2c1..cd182e594a 100644 --- a/client/injection/kube/reconciler/core/v1/secret/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/secret/reconciler.go @@ -20,7 +20,6 @@ package secret import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -295,26 +294,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().Secrets(resource.Namespace) + updater := r.Client.CoreV1().Secrets(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/core/v1/serviceaccount/reconciler.go b/client/injection/kube/reconciler/core/v1/serviceaccount/reconciler.go index e377e6fdd3..3cab9fa8b9 100644 --- a/client/injection/kube/reconciler/core/v1/serviceaccount/reconciler.go +++ b/client/injection/kube/reconciler/core/v1/serviceaccount/reconciler.go @@ -20,7 +20,6 @@ package serviceaccount import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -295,26 +294,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.CoreV1().ServiceAccounts(resource.Namespace) + updater := r.Client.CoreV1().ServiceAccounts(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/extensions/v1beta1/deployment/reconciler.go b/client/injection/kube/reconciler/extensions/v1beta1/deployment/reconciler.go index df81948ae1..70ab2ec90b 100644 --- a/client/injection/kube/reconciler/extensions/v1beta1/deployment/reconciler.go +++ b/client/injection/kube/reconciler/extensions/v1beta1/deployment/reconciler.go @@ -20,7 +20,6 @@ package deployment import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.ExtensionsV1beta1().Deployments(resource.Namespace) + updater := r.Client.ExtensionsV1beta1().Deployments(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/extensions/v1beta1/networkpolicy/reconciler.go b/client/injection/kube/reconciler/extensions/v1beta1/networkpolicy/reconciler.go index fc0c01b225..c8ebe985c5 100644 --- a/client/injection/kube/reconciler/extensions/v1beta1/networkpolicy/reconciler.go +++ b/client/injection/kube/reconciler/extensions/v1beta1/networkpolicy/reconciler.go @@ -20,7 +20,6 @@ package networkpolicy import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.ExtensionsV1beta1().NetworkPolicies(resource.Namespace) + updater := r.Client.ExtensionsV1beta1().NetworkPolicies(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, v1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, v1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName()) diff --git a/client/injection/kube/reconciler/networking/v1/networkpolicy/reconciler.go b/client/injection/kube/reconciler/networking/v1/networkpolicy/reconciler.go index 9090a1a77e..526091f521 100644 --- a/client/injection/kube/reconciler/networking/v1/networkpolicy/reconciler.go +++ b/client/injection/kube/reconciler/networking/v1/networkpolicy/reconciler.go @@ -20,7 +20,6 @@ package networkpolicy import ( context "context" - json "encoding/json" fmt "fmt" zap "go.uber.org/zap" @@ -363,26 +362,14 @@ func (r *reconcilerImpl) updateFinalizersFiltered(ctx context.Context, resource existingFinalizers.Delete(r.finalizerName) finalizers = existingFinalizers.List() } + existing.Finalizers = finalizers - mergePatch := map[string]interface{}{ - "metadata": map[string]interface{}{ - "finalizers": finalizers, - "resourceVersion": existing.ResourceVersion, - }, - } - - patch, err := json.Marshal(mergePatch) - if err != nil { - return resource, err - } - - patcher := r.Client.NetworkingV1().NetworkPolicies(resource.Namespace) + updater := r.Client.NetworkingV1().NetworkPolicies(resource.Namespace) - resourceName := resource.Name - updated, err := patcher.Patch(ctx, resourceName, types.MergePatchType, patch, metav1.PatchOptions{}) + updated, err := updater.Update(ctx, existing, metav1.UpdateOptions{}) if err != nil { r.Recorder.Eventf(existing, corev1.EventTypeWarning, "FinalizerUpdateFailed", - "Failed to update finalizers for %q: %v", resourceName, err) + "Failed to update finalizers for %q: %v", resource.GetName(), err) } else { r.Recorder.Eventf(updated, corev1.EventTypeNormal, "FinalizerUpdate", "Updated %q finalizers", resource.GetName())