From 998d60e3b0c39e9190d35c7a9e678bf52c0aa772 Mon Sep 17 00:00:00 2001 From: Mazdak Nasab Date: Thu, 9 Apr 2026 16:12:44 -0700 Subject: [PATCH 1/2] Do not patch felixconfig or bgpconfig when cluster routing mode is not set --- pkg/controller/installation/core_controller.go | 9 ++++++++- pkg/controller/installation/core_controller_test.go | 8 +++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/pkg/controller/installation/core_controller.go b/pkg/controller/installation/core_controller.go index 4c8c65aba7..f21eaab843 100644 --- a/pkg/controller/installation/core_controller.go +++ b/pkg/controller/installation/core_controller.go @@ -2068,6 +2068,10 @@ func setClusterRoutingOnFelixConfiguration( fc *v3.FelixConfiguration, reqLogger logr.Logger, ) (bool, error) { + if install.Spec.CalicoNetwork == nil || install.Spec.CalicoNetwork.ClusterRoutingMode == nil { + return false, nil + } + updated := false desiredValue := "Disabled" if felixProgramsClusterRoutes(install) { @@ -2090,9 +2094,12 @@ func setClusterRoutingOnBGPConfiguration( bgpConfig *v3.BGPConfiguration, reqLogger logr.Logger, ) (bool, error) { + if install.Spec.CalicoNetwork == nil || install.Spec.CalicoNetwork.ClusterRoutingMode == nil { + return false, nil + } + updated := false desiredValue := "Enabled" - if felixProgramsClusterRoutes(install) { desiredValue = "Disabled" } diff --git a/pkg/controller/installation/core_controller_test.go b/pkg/controller/installation/core_controller_test.go index cf2ed78706..06aa22fd08 100644 --- a/pkg/controller/installation/core_controller_test.go +++ b/pkg/controller/installation/core_controller_test.go @@ -1430,7 +1430,7 @@ var _ = Describe("Testing core-controller installation", func() { Expect(pullSecret.Kind).To(Equal("Installation")) }) - It("should correctly patch FelixConfig and BGPConfig with ClusterRouteMode not set", func() { + It("should not patch FelixConfig and BGPConfig when ClusterRouteMode not set", func() { cr.Spec.CalicoNetwork = &operator.CalicoNetworkSpec{} Expect(c.Create(ctx, cr)).NotTo(HaveOccurred()) _, err := r.Reconcile(ctx, reconcile.Request{}) @@ -1439,14 +1439,12 @@ var _ = Describe("Testing core-controller installation", func() { fc := &v3.FelixConfiguration{} err = c.Get(ctx, types.NamespacedName{Name: "default"}, fc) Expect(err).ShouldNot(HaveOccurred()) - Expect(fc.Spec.ProgramClusterRoutes).NotTo(BeNil()) - Expect(*fc.Spec.ProgramClusterRoutes).To(Equal("Disabled")) + Expect(fc.Spec.ProgramClusterRoutes).To(BeNil()) bgpConfig := &v3.BGPConfiguration{} err = c.Get(ctx, types.NamespacedName{Name: "default"}, bgpConfig) Expect(err).ShouldNot(HaveOccurred()) - Expect(bgpConfig.Spec.ProgramClusterRoutes).NotTo(BeNil()) - Expect(*bgpConfig.Spec.ProgramClusterRoutes).To(Equal("Enabled")) + Expect(bgpConfig.Spec.ProgramClusterRoutes).To(BeNil()) }) It("should correctly patch FelixConfig and BGPConfig with ClusterRouteMode set to BIRD", func() { From 20b4a01c01a7db8a7854a111a3668766b9f4da3d Mon Sep 17 00:00:00 2001 From: Mazdak Nasab Date: Thu, 9 Apr 2026 16:32:51 -0700 Subject: [PATCH 2/2] fix ut --- pkg/controller/installation/core_controller_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/controller/installation/core_controller_test.go b/pkg/controller/installation/core_controller_test.go index 06aa22fd08..3145e6a5f3 100644 --- a/pkg/controller/installation/core_controller_test.go +++ b/pkg/controller/installation/core_controller_test.go @@ -1443,8 +1443,7 @@ var _ = Describe("Testing core-controller installation", func() { bgpConfig := &v3.BGPConfiguration{} err = c.Get(ctx, types.NamespacedName{Name: "default"}, bgpConfig) - Expect(err).ShouldNot(HaveOccurred()) - Expect(bgpConfig.Spec.ProgramClusterRoutes).To(BeNil()) + Expect(err).Should(HaveOccurred()) }) It("should correctly patch FelixConfig and BGPConfig with ClusterRouteMode set to BIRD", func() {