From 670c4b3677d518bc81699ddca9e2572894fb53f4 Mon Sep 17 00:00:00 2001 From: Andrej Krejcir Date: Wed, 25 Sep 2024 14:12:42 +0200 Subject: [PATCH] fix: Allow disabling of common data import crons Some of the common data import crons can be disabled. Before this commit, the disabled data import crons were still added to SSP. Signed-off-by: Andrej Krejcir --- controllers/operands/ssp.go | 4 ++++ controllers/operands/ssp_test.go | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/controllers/operands/ssp.go b/controllers/operands/ssp.go index 824680301b..0073802aca 100644 --- a/controllers/operands/ssp.go +++ b/controllers/operands/ssp.go @@ -284,6 +284,10 @@ func isDataImportCronTemplateEnabled(dict hcov1beta1.DataImportCronTemplate) boo func getCustomDicts(list []hcov1beta1.DataImportCronTemplateStatus, crDicts map[string]hcov1beta1.DataImportCronTemplate) []hcov1beta1.DataImportCronTemplateStatus { for dictName, crDict := range crDicts { + if !isDataImportCronTemplateEnabled(crDict) { + continue + } + if _, isCommon := dataImportCronTemplateHardCodedMap[dictName]; !isCommon { list = append(list, hcov1beta1.DataImportCronTemplateStatus{ DataImportCronTemplate: *crDict.DeepCopy(), diff --git a/controllers/operands/ssp_test.go b/controllers/operands/ssp_test.go index 6bb1ececbd..fe4e160ec8 100644 --- a/controllers/operands/ssp_test.go +++ b/controllers/operands/ssp_test.go @@ -764,6 +764,29 @@ var _ = Describe("SSP Operands", func() { Expect(goldenImageList).To(ContainElements(*statusImage2Enabled, statusImage3, statusImage4)) }) + It("should not add user DIC template if it is disabled", func() { + dataImportCronTemplateHardCodedMap = nil + hco := commontestutils.NewHco() + hco.Spec.FeatureGates.EnableCommonBootImageImport = ptr.To(true) + + disabledUserImage := image1.DeepCopy() + disableDict(disabledUserImage) + enabledUserImage := image2.DeepCopy() + enableDict(enabledUserImage) + + hco.Spec.DataImportCronTemplates = []hcov1beta1.DataImportCronTemplate{*disabledUserImage, *enabledUserImage} + goldenImageList, err := getDataImportCronTemplates(hco) + Expect(err).ToNot(HaveOccurred()) + Expect(goldenImageList).To(HaveLen(1)) + + statusImageEnabled := hcov1beta1.DataImportCronTemplateStatus{ + DataImportCronTemplate: *enabledUserImage, + Status: hcov1beta1.DataImportCronStatus{}, + } + + Expect(goldenImageList).To(ContainElements(statusImageEnabled)) + }) + It("Should reject if the CR list contain DIC templates with the same name, when there are also common DIC templates", func() { dataImportCronTemplateHardCodedMap = map[string]hcov1beta1.DataImportCronTemplate{ image1.Name: image1,