From a0dc3ef955542be24e9b114012473cd2d898d2cf Mon Sep 17 00:00:00 2001 From: Loic Devulder Date: Fri, 20 Feb 2026 16:41:29 +0100 Subject: [PATCH 1/3] ci/cli: bump backup-restore-operator Uses operator v9.0.1 for Rancher v2.13 and v2.14 Signed-off-by: Loic Devulder --- tests/e2e/suite_test.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/e2e/suite_test.go b/tests/e2e/suite_test.go index fbb8d92a7..48cbe2859 100644 --- a/tests/e2e/suite_test.go +++ b/tests/e2e/suite_test.go @@ -308,8 +308,11 @@ func InstallBackupOperator(k *kubectl.Kubectl) { // backupRscSet should be used for newer versions switch { + case strings.Contains(rancherVersion, ":v2.14"): + backupRestoreVersion = "v9.0.1" + backupRscSet = "rancher-resource-set-full" case strings.Contains(rancherVersion, ":v2.13"): - backupRestoreVersion = "v9.0.0" + backupRestoreVersion = "v9.0.1" backupRscSet = "rancher-resource-set-full" case strings.Contains(rancherVersion, ":v2.12"): backupRestoreVersion = "v8.1.1" From 85349122467f455a9ebe4ae9c2953432f28d60ca Mon Sep 17 00:00:00 2001 From: Loic Devulder Date: Fri, 20 Feb 2026 16:47:59 +0100 Subject: [PATCH 2/3] ci/cli: fix WaitForAllPods We should check for all status at once and not pod by pod. Signed-off-by: Loic Devulder --- tests/e2e/suite_test.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/tests/e2e/suite_test.go b/tests/e2e/suite_test.go index 48cbe2859..0265aa22c 100644 --- a/tests/e2e/suite_test.go +++ b/tests/e2e/suite_test.go @@ -709,21 +709,12 @@ Wait for all pods to be Running/Succeeded in the current K8s cluster - @returns Nothing, the function will fail through Ginkgo in case of issue */ func WaitForAllPods() { - // Extract list of pods - pods, _ := kubectl.RunWithoutErr("get", "pod", "--all-namespaces", - "-o", "jsonpath={.items[*].metadata.name}") - - for _, p := range strings.Fields(pods) { - Eventually(func() string { - // We have to search for p in all namespaces as we don't know them in advance - status, _ := kubectl.RunWithoutErr("get", "pod", "--all-namespaces", - "-o", "jsonpath={.items[?(@.metadata.name==\""+p+"\")].status.phase}") - return status - }, tools.SetTimeout(8*time.Minute), 30*time.Second).Should(Or( - ContainSubstring("Running"), - ContainSubstring("Succeeded"), - )) - } + okStatus := strings.NewReplacer("Running", "", "Succeeded", "", "Completed", "") + Eventually(func() string { + podStatus, _ := kubectl.RunWithoutErr("get", "pod", "--all-namespaces", + "-o", "jsonpath={.items[*].status.phase}") + return strings.TrimSpace(okStatus.Replace(podStatus)) + }, tools.SetTimeout(4*time.Minute), 30*time.Second).Should(BeEmpty()) } /* From 1923035d3f39226da36e0650605552555937e485 Mon Sep 17 00:00:00 2001 From: Loic Devulder Date: Fri, 20 Feb 2026 16:49:34 +0100 Subject: [PATCH 3/3] ci/cli: add debug code in WaitForAllPods Signed-off-by: Loic Devulder --- tests/e2e/suite_test.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/e2e/suite_test.go b/tests/e2e/suite_test.go index 0265aa22c..a45b84942 100644 --- a/tests/e2e/suite_test.go +++ b/tests/e2e/suite_test.go @@ -709,11 +709,20 @@ Wait for all pods to be Running/Succeeded in the current K8s cluster - @returns Nothing, the function will fail through Ginkgo in case of issue */ func WaitForAllPods() { + // Log pods list, useful for debugging + podDetails, _ := kubectl.RunWithoutErr("get", "pod", "--all-namespaces") + GinkgoWriter.Printf("%s\n", podDetails) + okStatus := strings.NewReplacer("Running", "", "Succeeded", "", "Completed", "") Eventually(func() string { podStatus, _ := kubectl.RunWithoutErr("get", "pod", "--all-namespaces", "-o", "jsonpath={.items[*].status.phase}") - return strings.TrimSpace(okStatus.Replace(podStatus)) + s := strings.TrimSpace(okStatus.Replace(podStatus)) + + // Log pods status, useful for debugging + GinkgoWriter.Printf("Pods Status: %s\n", s) + + return s }, tools.SetTimeout(4*time.Minute), 30*time.Second).Should(BeEmpty()) }