diff --git a/controllers/datadogagent/controller_reconcile_agent.go b/controllers/datadogagent/controller_reconcile_agent.go index f4e987aac..e2e66f02a 100644 --- a/controllers/datadogagent/controller_reconcile_agent.go +++ b/controllers/datadogagent/controller_reconcile_agent.go @@ -309,13 +309,10 @@ func (r *Reconciler) labelNodesWithProfiles(ctx context.Context, profilesByNode return nil } - patch := corev1.Node{ - TypeMeta: node.TypeMeta, - ObjectMeta: node.ObjectMeta, - } - patch.Labels = newLabels + modifiedNode := node.DeepCopy() + modifiedNode.Labels = newLabels - err := r.client.Patch(ctx, &patch, client.MergeFrom(node)) + err := r.client.Patch(ctx, modifiedNode, client.MergeFrom(node)) if err != nil && !errors.IsNotFound(err) { return err } diff --git a/controllers/datadogagent/finalizer.go b/controllers/datadogagent/finalizer.go index 061c6662e..526f562de 100644 --- a/controllers/datadogagent/finalizer.go +++ b/controllers/datadogagent/finalizer.go @@ -157,13 +157,10 @@ func (r *Reconciler) profilesCleanup() error { newLabels[k] = v } - patch := corev1.Node{ - TypeMeta: node.TypeMeta, - ObjectMeta: node.ObjectMeta, - } - patch.Labels = newLabels + modifiedNode := node.DeepCopy() + modifiedNode.Labels = newLabels - err := r.client.Patch(context.TODO(), &patch, client.MergeFrom(&node)) + err := r.client.Patch(context.TODO(), modifiedNode, client.MergeFrom(&node)) if err != nil && !errors.IsNotFound(err) { return err }