From b07a1953e9ed9daf90fef1dc96dbe4b71205fc85 Mon Sep 17 00:00:00 2001 From: Thibault Jamet Date: Fri, 29 Nov 2024 17:01:54 +0100 Subject: [PATCH] Prevent changing dnsEndpoint name and namespace attributes in createOrUpdate This is not permitted by controllerRuntime and should not be performed Change-Id: I5f01e93edd2b8c48689588a871905047d4fbed8f --- pkg/controllers/ingress_controller.go | 2 -- pkg/controllers/ingress_controller_test.go | 21 ++++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/pkg/controllers/ingress_controller.go b/pkg/controllers/ingress_controller.go index c2a2939..f85572c 100644 --- a/pkg/controllers/ingress_controller.go +++ b/pkg/controllers/ingress_controller.go @@ -175,8 +175,6 @@ func (r *IngressReconciler) newDnsEndpoint(ctx context.Context, dnsEndpoint *ext setOwnerRef(dnsEndpoint, &ingress) - dnsEndpoint.Name = ingress.ObjectMeta.Name - dnsEndpoint.Namespace = ingress.ObjectMeta.Namespace desiredWeight = uint(trafficweight.Store.DesiredWeight) if r.isIngressWeighted(ingress) { desiredWeight, err = r.calculateIngressWeight(ingress) diff --git a/pkg/controllers/ingress_controller_test.go b/pkg/controllers/ingress_controller_test.go index 8d647c0..947df63 100644 --- a/pkg/controllers/ingress_controller_test.go +++ b/pkg/controllers/ingress_controller_test.go @@ -130,7 +130,12 @@ func TestIngressController(t *testing.T) { } t.Run("Should forge DNS Endpoints", func(t *testing.T) { - forged := &externaldnsk8siov1alpha1.DNSEndpoint{} + forged := &externaldnsk8siov1alpha1.DNSEndpoint{ + ObjectMeta: metav1.ObjectMeta{ + Name: "bar", + Namespace: "foo", + }, + } reconciler.newDnsEndpoint(context.Background(), forged, ing) assert.Equal(t, expected, *forged) }) @@ -194,7 +199,12 @@ func TestIngressController(t *testing.T) { t.Run("if we dont set --aws-health-check-id ingress shouldnt have health property", func(t *testing.T) { trafficweight.Store.AWSHealthCheckID = "" - forged := &externaldnsk8siov1alpha1.DNSEndpoint{} + forged := &externaldnsk8siov1alpha1.DNSEndpoint{ + ObjectMeta: metav1.ObjectMeta{ + Name: "bar", + Namespace: "foo", + }, + } reconciler.newDnsEndpoint(context.Background(), forged, ing) assert.Equal(t, expected, *forged) }) @@ -229,7 +239,12 @@ func TestIngressController(t *testing.T) { }, } - forged := &externaldnsk8siov1alpha1.DNSEndpoint{} + forged := &externaldnsk8siov1alpha1.DNSEndpoint{ + ObjectMeta: metav1.ObjectMeta{ + Name: "bar", + Namespace: "foo", + }, + } reconciler.newDnsEndpoint(context.Background(), forged, ing) assert.Equal(t, expected, *forged) ing.Spec.Rules = oldRules