From 38ad0b12b4f46d789b4835ddc565c3372d582fee Mon Sep 17 00:00:00 2001 From: Nitin Goyal Date: Wed, 27 Nov 2024 18:01:42 +0530 Subject: [PATCH] controllers: create odf-deps sub while starting manager creating odf-deps subscription while starting manager will speed up the process. Signed-off-by: Nitin Goyal --- controllers/subscription_controller.go | 17 +++++++++++++++++ controllers/subscriptions.go | 1 + 2 files changed, 18 insertions(+) diff --git a/controllers/subscription_controller.go b/controllers/subscription_controller.go index 6f64a2b30..90bc59ea9 100644 --- a/controllers/subscription_controller.go +++ b/controllers/subscription_controller.go @@ -32,6 +32,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/event" "sigs.k8s.io/controller-runtime/pkg/handler" "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" @@ -290,6 +291,22 @@ func (r *SubscriptionReconciler) SetupWithManager(mgr ctrl.Manager) error { }, ) + err := mgr.Add(manager.RunnableFunc(func(ctx context.Context) error { + + odfDepsSub := GetStorageClusterSubscriptions()[0] + + if odfDepsSub.Spec.Package != OdfDepsSubscriptionPackage { + panic("odfDepsSub variable is expected to contain the 'odf-dependencies' subscription. " + + "Ensure the 'odf-dependencies' subscription indexed at 0.") + } + + return EnsureDesiredSubscription(r.Client, odfDepsSub) + + })) + if err != nil { + return err + } + return ctrl.NewControllerManagedBy(mgr). For(&operatorv1alpha1.Subscription{}, builder.WithPredicates(generationChangedPredicate, subscriptionPredicate)). diff --git a/controllers/subscriptions.go b/controllers/subscriptions.go index 9bd42ec14..11fe68c31 100644 --- a/controllers/subscriptions.go +++ b/controllers/subscriptions.go @@ -618,6 +618,7 @@ func GetStorageClusterSubscriptions() []*operatorv1alpha1.Subscription { }, } + // Do not change the inxex of odfDepsSubscription. The 0 index is being used to create this subscription while starting return []*operatorv1alpha1.Subscription{odfDepsSubscription, ocsSubscription, rookSubscription, noobaaSubscription, csiAddonsSubscription, cephCsiSubscription, ocsClientSubscription, prometheusSubscription, recipeSubscription} }