From 14d448b838f7dd7cdb472efd5fce0335d814db12 Mon Sep 17 00:00:00 2001 From: kubevirt-bot Date: Wed, 9 Oct 2024 09:27:50 +0200 Subject: [PATCH] fix: Allow disabling of common data import crons (#3105) (#3133) 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 (cherry picked from commit 0be29b73e6a4fc5dd161cd576b2e2acaaf6bc8c6) Co-authored-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 b26c3facdf..504a7784aa 100644 --- a/controllers/operands/ssp.go +++ b/controllers/operands/ssp.go @@ -276,6 +276,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 a96c9c12f2..423dd9817a 100644 --- a/controllers/operands/ssp_test.go +++ b/controllers/operands/ssp_test.go @@ -718,6 +718,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 = 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,