From 87ac0480c66c730ce632a103656c8af8200ebb2d Mon Sep 17 00:00:00 2001 From: Nitin Goyal Date: Tue, 12 Nov 2024 17:06:55 +0530 Subject: [PATCH] controllers: add logic to create a odf-dependencies subscription Signed-off-by: Nitin Goyal --- controllers/defaults.go | 14 ++++++++++++++ controllers/subscriptions.go | 20 ++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/controllers/defaults.go b/controllers/defaults.go index f36d5fa3b..b8d837b21 100644 --- a/controllers/defaults.go +++ b/controllers/defaults.go @@ -24,6 +24,13 @@ var ( DefaultValMap = map[string]string{ "OPERATOR_NAMESPACE": "openshift-storage", + "ODF_DEPS_SUBSCRIPTION_NAME": "odf-dependencies", + "ODF_DEPS_SUBSCRIPTION_PACKAGE": "odf-dependencies", + "ODF_DEPS_SUBSCRIPTION_CHANNEL": "alpha", + "ODF_DEPS_SUBSCRIPTION_STARTINGCSV": "odf-dependencies.v4.18.0", + "ODF_DEPS_SUBSCRIPTION_CATALOGSOURCE": "odf-catalogsource", + "ODF_DEPS_SUBSCRIPTION_CATALOGSOURCE_NAMESPACE": "openshift-marketplace", + "NOOBAA_SUBSCRIPTION_NAME": "noobaa-operator", "NOOBAA_SUBSCRIPTION_PACKAGE": "noobaa-operator", "NOOBAA_SUBSCRIPTION_CHANNEL": "alpha", @@ -90,6 +97,13 @@ var ( OperatorNamespace = GetEnvOrDefault("OPERATOR_NAMESPACE") + OdfDepsSubscriptionName = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_NAME") + OdfDepsSubscriptionPackage = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_PACKAGE") + OdfDepsSubscriptionChannel = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_CHANNEL") + OdfDepsSubscriptionStartingCSV = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_STARTINGCSV") + OdfDepsSubscriptionCatalogSource = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_CATALOGSOURCE") + OdfDepsSubscriptionCatalogSourceNamespace = GetEnvOrDefault("ODF_DEPS_SUBSCRIPTION_CATALOGSOURCE_NAMESPACE") + OcsSubscriptionName = GetEnvOrDefault("OCS_SUBSCRIPTION_NAME") OcsSubscriptionPackage = GetEnvOrDefault("OCS_SUBSCRIPTION_PACKAGE") OcsSubscriptionChannel = GetEnvOrDefault("OCS_SUBSCRIPTION_CHANNEL") diff --git a/controllers/subscriptions.go b/controllers/subscriptions.go index da5dc6144..8ca4b67bc 100644 --- a/controllers/subscriptions.go +++ b/controllers/subscriptions.go @@ -262,7 +262,7 @@ func GetVendorCsvNames(cli client.Client, kind odfv1alpha1.StorageKind) ([]strin if kind == VendorFlashSystemCluster() { csvNames = []string{IbmSubscriptionStartingCSV} } else if kind == VendorStorageCluster() { - csvNames = []string{OcsSubscriptionStartingCSV, RookSubscriptionStartingCSV, NoobaaSubscriptionStartingCSV, + csvNames = []string{OdfDepsSubscriptionStartingCSV, OcsSubscriptionStartingCSV, RookSubscriptionStartingCSV, NoobaaSubscriptionStartingCSV, PrometheusSubscriptionStartingCSV, RecipeSubscriptionStartingCSV} isProvider, err = isProviderMode(cli) @@ -432,6 +432,22 @@ func GetSubscriptions(k odfv1alpha1.StorageKind) []*operatorv1alpha1.Subscriptio // GetStorageClusterSubscription return subscription for StorageCluster func GetStorageClusterSubscriptions() []*operatorv1alpha1.Subscription { + + odfDepsSubscription := &operatorv1alpha1.Subscription{ + ObjectMeta: metav1.ObjectMeta{ + Name: OdfDepsSubscriptionName, + Namespace: OperatorNamespace, + }, + Spec: &operatorv1alpha1.SubscriptionSpec{ + CatalogSource: OdfDepsSubscriptionCatalogSource, + CatalogSourceNamespace: OdfDepsSubscriptionCatalogSourceNamespace, + Package: OdfDepsSubscriptionPackage, + Channel: OdfDepsSubscriptionChannel, + StartingCSV: OdfDepsSubscriptionStartingCSV, + InstallPlanApproval: operatorv1alpha1.ApprovalAutomatic, + }, + } + noobaaSubscription := &operatorv1alpha1.Subscription{ ObjectMeta: metav1.ObjectMeta{ Name: NoobaaSubscriptionName, @@ -584,7 +600,7 @@ func GetStorageClusterSubscriptions() []*operatorv1alpha1.Subscription { }, } - return []*operatorv1alpha1.Subscription{ocsSubscription, rookSubscription, noobaaSubscription, + return []*operatorv1alpha1.Subscription{odfDepsSubscription, ocsSubscription, rookSubscription, noobaaSubscription, csiAddonsSubscription, cephCsiSubscription, ocsClientSubscription, prometheusSubscription, recipeSubscription} }