From b82691ea515934189c9c52544cd10abf6cd1af66 Mon Sep 17 00:00:00 2001 From: Matthias Wessendorf Date: Mon, 14 Apr 2025 15:05:28 +0200 Subject: [PATCH] Compare the entire PodTemplateSpec, instead of just its PodSpec Signed-off-by: Matthias Wessendorf --- pkg/reconciler/containersource/containersource.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/reconciler/containersource/containersource.go b/pkg/reconciler/containersource/containersource.go index f36b8a87e94..59164af978d 100644 --- a/pkg/reconciler/containersource/containersource.go +++ b/pkg/reconciler/containersource/containersource.go @@ -109,8 +109,8 @@ func (r *Reconciler) reconcileReceiveAdapter(ctx context.Context, source *v1.Con return nil, fmt.Errorf("getting Deployment: %v", err) } else if !metav1.IsControlledBy(ra, source) { return nil, fmt.Errorf("deployment %q is not owned by ContainerSource %q", ra.Name, source.Name) - } else if r.podSpecChanged(&ra.Spec.Template.Spec, &expected.Spec.Template.Spec) { - ra.Spec.Template.Spec = expected.Spec.Template.Spec + } else if r.podTemplateChanged(&ra.Spec.Template, &expected.Spec.Template) { + ra.Spec.Template = expected.Spec.Template ra, err = r.kubeClientSet.AppsV1().Deployments(expected.Namespace).Update(ctx, ra, metav1.UpdateOptions{}) if err != nil { return nil, fmt.Errorf("updating Deployment: %v", err) @@ -159,6 +159,10 @@ func (r *Reconciler) podSpecChanged(have *corev1.PodSpec, want *corev1.PodSpec) return !equality.Semantic.DeepDerivative(want, have) } +func (r *Reconciler) podTemplateChanged(have *corev1.PodTemplateSpec, want *corev1.PodTemplateSpec) bool { + return !equality.Semantic.DeepDerivative(want, have) +} + func (r *Reconciler) sinkBindingSpecChanged(have *v1.SinkBindingSpec, want *v1.SinkBindingSpec) bool { return !equality.Semantic.DeepDerivative(want, have) }