From 7357586ac446042172b844128e89ca020efb54b0 Mon Sep 17 00:00:00 2001 From: Bruno Andrade Date: Tue, 18 Nov 2025 20:26:09 -0300 Subject: [PATCH 1/3] UPSTREAM: : migrate bandrade test cases to OTE --- .../openshift_payload_olmv1.json | 51 ++++++++++++++++ .../tests-extension/test/qe/specs/olmv1.go | 10 ++++ .../tests-extension/test/qe/specs/olmv1_cc.go | 17 ++++++ .../tests-extension/test/qe/specs/olmv1_ce.go | 60 +++++++++++++++++++ 4 files changed, 138 insertions(+) diff --git a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json index c28c3f929..6c87d7c25 100644 --- a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json +++ b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json @@ -46,6 +46,23 @@ "exclude": "topology==\"External\"" } }, + { + "name": "[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-[OTP]Make sure that rukpak is removed from payload", + "originalName": "[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload", + "labels": { + "Extended": {}, + "NonHyperShiftHOST": {}, + "original-name:[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload": {} + }, + "resources": { + "isolation": {} + }, + "source": "openshift:payload:olmv1", + "lifecycle": "blocking", + "environmentSelector": { + "exclude": "topology==\"External\"" + } + }, { "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:69242-[OTP][Skipped:Disconnected]Catalogd deprecated package bundlemetadata catalogmetadata from clustercatalog CR", "originalName": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:69242-[Skipped:Disconnected]Catalogd deprecated package bundlemetadata catalogmetadata from clustercatalog CR", @@ -322,6 +339,23 @@ "exclude": "topology==\"External\"" } }, + { + "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", + "originalName": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", + "labels": { + "Extended": {}, + "NonHyperShiftHOST": {}, + "original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly": {} + }, + "resources": { + "isolation": {} + }, + "source": "openshift:payload:olmv1", + "lifecycle": "blocking", + "environmentSelector": { + "exclude": "topology==\"External\"" + } + }, { "name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:83069-[OTP]olmv1 static networkpolicy.", "originalName": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:83069-olmv1 static networkpolicy.", @@ -374,6 +408,23 @@ "exclude": "topology==\"External\"" } }, + { + "name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[OTP][Skipped:Disconnected]olmv1 downgrade version", + "originalName": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version", + "labels": { + "Extended": {}, + "NonHyperShiftHOST": {}, + "original-name:[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version": {} + }, + "resources": { + "isolation": {} + }, + "source": "openshift:payload:olmv1", + "lifecycle": "blocking", + "environmentSelector": { + "exclude": "topology==\"External\"" + } + }, { "name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:75492-[OTP][Level0]cluster extension can not be installed with wrong sa or insufficient permission sa", "originalName": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:75492-[Skipped:Disconnected]cluster extension can not be installed with wrong sa or insufficient permission sa", diff --git a/openshift/tests-extension/test/qe/specs/olmv1.go b/openshift/tests-extension/test/qe/specs/olmv1.go index 2239c5fe3..7f8f2b601 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1.go +++ b/openshift/tests-extension/test/qe/specs/olmv1.go @@ -152,4 +152,14 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] cluster-olm-operator", g.Label("NonHyp g.By("3) test SUCCESS") }) + g.It("PolarionID:75877-[OTP]Make sure that rukpak is removed from payload", g.Label("original-name:[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload"), func() { + g.By("1) Ensure bundledeployments.core.rukpak.io CRD is not installed") + _, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("crd", "bundledeployments.core.rukpak.io").Output() + o.Expect(err).To(o.HaveOccurred()) + + g.By("2) Ensure openshift-rukpak namespace is not created") + _, err = oc.AsAdmin().WithoutNamespace().Run("get").Args("ns", "openshift-rukpak").Output() + o.Expect(err).To(o.HaveOccurred()) + }) + }) diff --git a/openshift/tests-extension/test/qe/specs/olmv1_cc.go b/openshift/tests-extension/test/qe/specs/olmv1_cc.go index d9031d2e0..e43d294b3 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1_cc.go +++ b/openshift/tests-extension/test/qe/specs/olmv1_cc.go @@ -127,6 +127,23 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] clustercatalog", g.Label("NonHyperShif clustercatalog.CheckClusterCatalogCondition(oc, "Progressing", "message", "manifest unknown", 5, 90, 0) }) + g.It("PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", g.Label("original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly"), func() { + g.By("Verify built-in ClusterCatalogs report Serving=True") + checks := []olmv1util.CheckDescription{ + olmv1util.NewCheck("expect", exutil.AsAdmin, exutil.WithoutNamespace, exutil.Contain, "True", exutil.Ok, + []string{"clustercatalog", "openshift-certified-operators", `-o=jsonpath={.status.conditions[?(@.type=="Serving")].status}`}), + olmv1util.NewCheck("expect", exutil.AsAdmin, exutil.WithoutNamespace, exutil.Contain, "True", exutil.Ok, + []string{"clustercatalog", "openshift-community-operators", `-o=jsonpath={.status.conditions[?(@.type=="Serving")].status}`}), + olmv1util.NewCheck("expect", exutil.AsAdmin, exutil.WithoutNamespace, exutil.Contain, "True", exutil.Ok, + []string{"clustercatalog", "openshift-redhat-operators", `-o=jsonpath={.status.conditions[?(@.type=="Serving")].status}`}), + olmv1util.NewCheck("expect", exutil.AsAdmin, exutil.WithoutNamespace, exutil.Contain, "True", exutil.Ok, + []string{"clustercatalog", "openshift-redhat-marketplace", `-o=jsonpath={.status.conditions[?(@.type=="Serving")].status}`}), + } + for _, check := range checks { + check.Check(oc) + } + }) + g.It("PolarionID:69123-[OTP][Skipped:Disconnected]Catalogd clustercatalog offer the operator content through http server", func() { var ( baseDir = exutil.FixturePath("testdata", "olm") diff --git a/openshift/tests-extension/test/qe/specs/olmv1_ce.go b/openshift/tests-extension/test/qe/specs/olmv1_ce.go index 6491c6576..910fbae2f 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1_ce.go +++ b/openshift/tests-extension/test/qe/specs/olmv1_ce.go @@ -299,6 +299,66 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] clusterextension", g.Label("NonHyperSh }) + g.It("PolarionID:70723-[OTP][Skipped:Disconnected]olmv1 downgrade version", g.Label("original-name:[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version"), func() { + olmv1util.ValidateAccessEnvironment(oc) + var ( + ns = "ns-70723" + sa = "sa70723" + baseDir = exutil.FixturePath("testdata", "olm") + clustercatalogTemplate = filepath.Join(baseDir, "clustercatalog.yaml") + clusterextensionTemplate = filepath.Join(baseDir, "clusterextension.yaml") + saClusterRoleBindingTemplate = filepath.Join(baseDir, "sa-admin.yaml") + saCrb = olmv1util.SaCLusterRolebindingDescription{ + Name: sa, + Namespace: ns, + Template: saClusterRoleBindingTemplate, + } + clustercatalog = olmv1util.ClusterCatalogDescription{ + Name: "clustercatalog-70723", + Imageref: "quay.io/openshifttest/nginxolm-operator-index:nginxolm70723", + Template: clustercatalogTemplate, + } + clusterextension = olmv1util.ClusterExtensionDescription{ + Name: "clusterextension-70723", + InstallNamespace: ns, + PackageName: "nginx70723", + Channel: "candidate-v2", + Version: "2.2.1", + SaName: sa, + Template: clusterextensionTemplate, + } + ) + + g.By("Create namespace") + defer func() { + _ = oc.WithoutNamespace().AsAdmin().Run("delete").Args("ns", ns, "--ignore-not-found", "--force").Execute() + }() + err := oc.WithoutNamespace().AsAdmin().Run("create").Args("ns", ns).Execute() + o.Expect(err).NotTo(o.HaveOccurred()) + o.Expect(olmv1util.Appearance(oc, exutil.Appear, "ns", ns)).To(o.BeTrue()) + + g.By("Create SA for clusterextension") + defer saCrb.Delete(oc) + saCrb.Create(oc) + + g.By("Create clustercatalog") + defer clustercatalog.Delete(oc) + clustercatalog.Create(oc) + + g.By("Install version 2.2.1") + defer clusterextension.Delete(oc) + clusterextension.Create(oc) + o.Expect(clusterextension.InstalledBundle).To(o.ContainSubstring("2.2.1")) + + g.By("Attempt to downgrade to version 2.0.0 with CatalogProvided policy and expect failure") + clusterextension.Patch(oc, `{"spec":{"source":{"catalog":{"version": "2.0.0"}}}}`) + clusterextension.CheckClusterExtensionCondition(oc, "Progressing", "message", "error upgrading", 3, 150, 0) + + g.By("Change UpgradeConstraintPolicy to SelfCertified and allow downgrade") + clusterextension.Patch(oc, `{"spec":{"source":{"catalog":{"upgradeConstraintPolicy": "SelfCertified"}}}}`) + clusterextension.WaitClusterExtensionVersion(oc, "2.0.0") + }) + g.It("PolarionID:75492-[OTP][Level0]cluster extension can not be installed with wrong sa or insufficient permission sa", g.Label("original-name:[sig-olmv1][Jira:OLM] clusterextension PolarionID:75492-[Skipped:Disconnected]cluster extension can not be installed with wrong sa or insufficient permission sa"), func() { exutil.SkipForSNOCluster(oc) olmv1util.ValidateAccessEnvironment(oc) From 9cec271e24116c43b4e53087fbd0d53692e61fbc Mon Sep 17 00:00:00 2001 From: Bruno Andrade Date: Tue, 2 Dec 2025 22:35:55 -0300 Subject: [PATCH 2/3] UPSTREAM: : update metadata --- .../openshift_payload_olmv1.json | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json index 6c87d7c25..9d119cfe7 100644 --- a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json +++ b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json @@ -99,6 +99,24 @@ "exclude": "topology==\"External\"" } }, + { + "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", + "originalName": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", + "labels": { + "ClusterCatalog": {}, + "Extended": {}, + "NonHyperShiftHOST": {}, + "original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly": {} + }, + "resources": { + "isolation": {} + }, + "source": "openshift:payload:olmv1", + "lifecycle": "blocking", + "environmentSelector": { + "exclude": "topology==\"External\"" + } + }, { "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:69123-[OTP][Skipped:Disconnected]Catalogd clustercatalog offer the operator content through http server", "labels": { @@ -339,23 +357,6 @@ "exclude": "topology==\"External\"" } }, - { - "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", - "originalName": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", - "labels": { - "Extended": {}, - "NonHyperShiftHOST": {}, - "original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly": {} - }, - "resources": { - "isolation": {} - }, - "source": "openshift:payload:olmv1", - "lifecycle": "blocking", - "environmentSelector": { - "exclude": "topology==\"External\"" - } - }, { "name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:83069-[OTP]olmv1 static networkpolicy.", "originalName": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:83069-olmv1 static networkpolicy.", From de93981971bfdd0dce618c8bf854e42670c1075f Mon Sep 17 00:00:00 2001 From: Bruno Andrade Date: Wed, 3 Dec 2025 07:05:07 -0300 Subject: [PATCH 3/3] UPSTREAM: : remove originalName --- .../openshift_payload_olmv1.json | 12 +++--------- openshift/tests-extension/test/qe/specs/olmv1.go | 2 +- openshift/tests-extension/test/qe/specs/olmv1_cc.go | 2 +- openshift/tests-extension/test/qe/specs/olmv1_ce.go | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json index 9d119cfe7..7978faceb 100644 --- a/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json +++ b/openshift/tests-extension/.openshift-tests-extension/openshift_payload_olmv1.json @@ -48,11 +48,9 @@ }, { "name": "[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-[OTP]Make sure that rukpak is removed from payload", - "originalName": "[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload", "labels": { "Extended": {}, - "NonHyperShiftHOST": {}, - "original-name:[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload": {} + "NonHyperShiftHOST": {} }, "resources": { "isolation": {} @@ -101,12 +99,10 @@ }, { "name": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", - "originalName": "[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", "labels": { "ClusterCatalog": {}, "Extended": {}, - "NonHyperShiftHOST": {}, - "original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly": {} + "NonHyperShiftHOST": {} }, "resources": { "isolation": {} @@ -411,11 +407,9 @@ }, { "name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[OTP][Skipped:Disconnected]olmv1 downgrade version", - "originalName": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version", "labels": { "Extended": {}, - "NonHyperShiftHOST": {}, - "original-name:[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version": {} + "NonHyperShiftHOST": {} }, "resources": { "isolation": {} diff --git a/openshift/tests-extension/test/qe/specs/olmv1.go b/openshift/tests-extension/test/qe/specs/olmv1.go index 7f8f2b601..0b2c7e47e 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1.go +++ b/openshift/tests-extension/test/qe/specs/olmv1.go @@ -152,7 +152,7 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] cluster-olm-operator", g.Label("NonHyp g.By("3) test SUCCESS") }) - g.It("PolarionID:75877-[OTP]Make sure that rukpak is removed from payload", g.Label("original-name:[sig-olmv1][Jira:OLM] cluster-olm-operator PolarionID:75877-Make sure that rukpak is removed from payload"), func() { + g.It("PolarionID:75877-[OTP]Make sure that rukpak is removed from payload", func() { g.By("1) Ensure bundledeployments.core.rukpak.io CRD is not installed") _, err := oc.AsAdmin().WithoutNamespace().Run("get").Args("crd", "bundledeployments.core.rukpak.io").Output() o.Expect(err).To(o.HaveOccurred()) diff --git a/openshift/tests-extension/test/qe/specs/olmv1_cc.go b/openshift/tests-extension/test/qe/specs/olmv1_cc.go index e43d294b3..f21b4cc51 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1_cc.go +++ b/openshift/tests-extension/test/qe/specs/olmv1_cc.go @@ -127,7 +127,7 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] clustercatalog", g.Label("NonHyperShif clustercatalog.CheckClusterCatalogCondition(oc, "Progressing", "message", "manifest unknown", 5, 90, 0) }) - g.It("PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", g.Label("original-name:[sig-olmv1][Jira:OLM] clustercatalog PolarionID:77413-[Skipped:Disconnected]Check if ClusterCatalog is in Serving properly"), func() { + g.It("PolarionID:77413-[OTP][Level0][Skipped:Disconnected]Check if ClusterCatalog is in Serving properly", func() { g.By("Verify built-in ClusterCatalogs report Serving=True") checks := []olmv1util.CheckDescription{ olmv1util.NewCheck("expect", exutil.AsAdmin, exutil.WithoutNamespace, exutil.Contain, "True", exutil.Ok, diff --git a/openshift/tests-extension/test/qe/specs/olmv1_ce.go b/openshift/tests-extension/test/qe/specs/olmv1_ce.go index 910fbae2f..a9391591e 100644 --- a/openshift/tests-extension/test/qe/specs/olmv1_ce.go +++ b/openshift/tests-extension/test/qe/specs/olmv1_ce.go @@ -299,7 +299,7 @@ var _ = g.Describe("[sig-olmv1][Jira:OLM] clusterextension", g.Label("NonHyperSh }) - g.It("PolarionID:70723-[OTP][Skipped:Disconnected]olmv1 downgrade version", g.Label("original-name:[sig-olmv1][Jira:OLM] clusterextension PolarionID:70723-[Skipped:Disconnected]olmv1 downgrade version"), func() { + g.It("PolarionID:70723-[OTP][Skipped:Disconnected]olmv1 downgrade version", func() { olmv1util.ValidateAccessEnvironment(oc) var ( ns = "ns-70723"