diff --git a/api/go.mod b/api/go.mod index 2d96990..c690123 100644 --- a/api/go.mod +++ b/api/go.mod @@ -11,12 +11,13 @@ require ( k8s.io/apimachinery v0.33.1 k8s.io/client-go v0.33.1 k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979 - sigs.k8s.io/controller-runtime v0.20.4 + sigs.k8s.io/controller-runtime v0.21.0 sigs.k8s.io/yaml v1.4.0 ) require ( github.com/beorn7/perks v1.0.1 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.12.1 // indirect diff --git a/api/go.sum b/api/go.sum index bcf90a2..08698fc 100644 --- a/api/go.sum +++ b/api/go.sum @@ -1,5 +1,7 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -178,8 +180,8 @@ k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUy k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979 h1:jgJW5IePPXLGB8e/1wvd0Ich9QE97RvvF3a8J3fP/Lg= k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= -sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= +sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8= +sigs.k8s.io/controller-runtime v0.21.0/go.mod h1:OSg14+F65eWqIu4DceX7k/+QRAbTTvxeQSNSOQpukWM= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= diff --git a/go.mod b/go.mod index 62c3246..2afe865 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( k8s.io/apimachinery v0.33.1 k8s.io/client-go v0.33.1 k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979 - sigs.k8s.io/controller-runtime v0.20.4 + sigs.k8s.io/controller-runtime v0.21.0 sigs.k8s.io/yaml v1.4.0 ) diff --git a/go.sum b/go.sum index c78b4dd..a94fdb4 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,9 @@ github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4t github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= @@ -242,8 +245,8 @@ k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUy k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979 h1:jgJW5IePPXLGB8e/1wvd0Ich9QE97RvvF3a8J3fP/Lg= k8s.io/utils v0.0.0-20250502105355-0f33e8f1c979/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= -sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= +sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8= +sigs.k8s.io/controller-runtime v0.21.0/go.mod h1:OSg14+F65eWqIu4DceX7k/+QRAbTTvxeQSNSOQpukWM= sigs.k8s.io/controller-tools v0.14.0 h1:rnNoCC5wSXlrNoBKKzL70LNJKIQKEzT6lloG6/LF73A= sigs.k8s.io/controller-tools v0.14.0/go.mod h1:TV7uOtNNnnR72SpzhStvPkoS/U5ir0nMudrkrC4M9Sc= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= diff --git a/internal/controller/core/apiserver/controller.go b/internal/controller/core/apiserver/controller.go index c958bd5..c1ed062 100644 --- a/internal/controller/core/apiserver/controller.go +++ b/internal/controller/core/apiserver/controller.go @@ -163,7 +163,7 @@ func (r *APIServerProvider) reconcile(ctx context.Context, req ctrl.Request) com if deletionWaitingForDependenciesMsg != "" { // we are waiting for one or more dependencies to be deleted - return componentutils.ReconcileResult[*openmcpv1alpha1.APIServer]{Component: as, OldComponent: old, Result: ctrl.Result{Requeue: res.Requeue, RequeueAfter: minExceptZero(res.RequeueAfter, 60*time.Second)}, ReconcileError: errs.Aggregate(), Reason: cconst.ReasonDeletionWaitingForDependingComponents, Message: deletionWaitingForDependenciesMsg, Conditions: cons} + return componentutils.ReconcileResult[*openmcpv1alpha1.APIServer]{Component: as, OldComponent: old, Result: ctrl.Result{RequeueAfter: minExceptZero(res.RequeueAfter, 60*time.Second)}, ReconcileError: errs.Aggregate(), Reason: cconst.ReasonDeletionWaitingForDependingComponents, Message: deletionWaitingForDependenciesMsg, Conditions: cons} } if deleteAPIServer && componentutils.AllConditionsTrue(cons...) { diff --git a/internal/controller/core/authorization/clusteradmin/controller_test.go b/internal/controller/core/authorization/clusteradmin/controller_test.go index 6da516f..4ef3848 100644 --- a/internal/controller/core/authorization/clusteradmin/controller_test.go +++ b/internal/controller/core/authorization/clusteradmin/controller_test.go @@ -88,7 +88,7 @@ var _ = Describe("CO-1153 ClusterAdmin Controller", func() { Eventually(func() bool { res := env.ShouldReconcile(clusterAdminReconciler, req) err = env.Client(testutils.APIServerCluster).Get(env.Ctx, types.NamespacedName{Name: openmcpv1alpha1.ClusterAdminRoleBinding}, crb) - return errors.IsNotFound(err) && res.Requeue == false && res.RequeueAfter == 0 + return errors.IsNotFound(err) && res.RequeueAfter == 0 }, 2*time.Second, 100*time.Millisecond).Should(BeTrue()) err = env.Client(testutils.CrateCluster).Get(env.Ctx, client.ObjectKeyFromObject(ca), ca) diff --git a/internal/utils/components/components.go b/internal/utils/components/components.go index dd609c0..953d51b 100644 --- a/internal/utils/components/components.go +++ b/internal/utils/components/components.go @@ -250,7 +250,7 @@ type ReconcileResult[T components.Component] struct { // LogRequeue logs a message with the given logger at the given verbosity if the currently reconciled object is requeued for another reconciliation. func (rr *ReconcileResult[T]) LogRequeue(log logging.Logger, verbosity logging.LogLevel) { - if rr.Result.Requeue || rr.Result.RequeueAfter > 0 { + if rr.Result.RequeueAfter > 0 { log.Log(verbosity, "Object requeued for reconciliation", "requeueAfter", rr.Result.RequeueAfter.String(), "reconcileAt", time.Now().Add(rr.Result.RequeueAfter).Format(time.RFC3339)) } } diff --git a/internal/utils/components/components_test.go b/internal/utils/components/components_test.go index 7b5bbd8..e0f67aa 100644 --- a/internal/utils/components/components_test.go +++ b/internal/utils/components/components_test.go @@ -338,7 +338,7 @@ var _ = Describe("Components", func() { result, err := componentutils.UpdateStatus(context.Background(), env.Client(), rr) Expect(err).To(HaveOccurred()) Expect(errors.Is(err, rr.ReconcileError)).To(BeTrue()) - Expect(result.Requeue).To(BeFalse()) + Expect(result.RequeueAfter).To(BeZero()) err = env.Client().Get(context.Background(), client.ObjectKeyFromObject(as), as) Expect(err).ToNot(HaveOccurred())