diff --git a/test/e2e/backup/backup.go b/test/e2e/backup/backup.go index 529b6cb417..9ad7b94ebc 100644 --- a/test/e2e/backup/backup.go +++ b/test/e2e/backup/backup.go @@ -19,6 +19,7 @@ import ( "context" "flag" "fmt" + "time" "github.com/google/uuid" . "github.com/onsi/ginkgo" @@ -68,7 +69,9 @@ func BackupRestoreTest(useVolumeSnapshots bool) { DeleteBackups(context.Background(), *veleroCfg.ClientToInstallVelero) }) if veleroCfg.InstallVelero { - err = VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace) + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + err = VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace) Expect(err).To(Succeed()) } } diff --git a/test/e2e/backups/sync_backups.go b/test/e2e/backups/sync_backups.go index a12a270c82..62f724e14a 100644 --- a/test/e2e/backups/sync_backups.go +++ b/test/e2e/backups/sync_backups.go @@ -69,7 +69,9 @@ func BackupsSyncTest() { DeleteBackups(context.Background(), *VeleroCfg.ClientToInstallVelero) }) if VeleroCfg.InstallVelero { - Expect(VeleroUninstall(context.Background(), VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace)).To(Succeed()) + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + Expect(VeleroUninstall(ctx, VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace)).To(Succeed()) } } diff --git a/test/e2e/backups/ttl.go b/test/e2e/backups/ttl.go index a60d95ea55..4cc2d59204 100644 --- a/test/e2e/backups/ttl.go +++ b/test/e2e/backups/ttl.go @@ -80,11 +80,11 @@ func TTLTest() { By("Clean backups after test", func() { DeleteBackups(context.Background(), *veleroCfg.ClientToInstallVelero) }) + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() if veleroCfg.InstallVelero { - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) } - ctx, ctxCancel := context.WithTimeout(context.Background(), 5*time.Minute) - defer ctxCancel() Expect(DeleteNamespace(ctx, client, test.testNS, false)).To(Succeed(), fmt.Sprintf("Failed to delete the namespace %s", test.testNS)) } }) diff --git a/test/e2e/basic/api-group/enable_api_group_extentions.go b/test/e2e/basic/api-group/enable_api_group_extentions.go index 002833d55f..40bd64000e 100644 --- a/test/e2e/basic/api-group/enable_api_group_extentions.go +++ b/test/e2e/basic/api-group/enable_api_group_extentions.go @@ -73,13 +73,15 @@ func APIExtensionsVersionsTest() { }) if veleroCfg.InstallVelero { By("Uninstall Velero and delete CRD ", func() { + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() Expect(KubectlConfigUseContext(context.Background(), veleroCfg.DefaultCluster)).To(Succeed()) - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) Expect(DeleteCRDByName(context.Background(), crdName)).To(Succeed()) Expect(KubectlConfigUseContext(context.Background(), veleroCfg.StandbyCluster)).To(Succeed()) - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) Expect(DeleteCRDByName(context.Background(), crdName)).To(Succeed()) }) diff --git a/test/e2e/basic/api-group/enable_api_group_versions.go b/test/e2e/basic/api-group/enable_api_group_versions.go index b2901be319..776c8966e2 100644 --- a/test/e2e/basic/api-group/enable_api_group_versions.go +++ b/test/e2e/basic/api-group/enable_api_group_versions.go @@ -45,13 +45,11 @@ var veleroCfg VeleroConfig type apiGropuVersionsTest struct { name string - namespaces []string srcCrdYaml string srcCRs map[string]string tgtCrdYaml string tgtVer string cm *corev1api.ConfigMap - gvs map[string][]string want map[string]map[string]string } @@ -108,6 +106,8 @@ func APIGropuVersionsTest() { Context("When EnableAPIGroupVersions flag is set", func() { It("Should back up API group version and restore by version priority", func() { + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*60) + defer ctxCancel() Expect(runEnableAPIGroupVersionsTests( ctx, *veleroCfg.ClientToInstallVelero, diff --git a/test/e2e/basic/pvc-selected-node-changing.go b/test/e2e/basic/pvc-selected-node-changing.go index 847188e348..94db1c52cf 100644 --- a/test/e2e/basic/pvc-selected-node-changing.go +++ b/test/e2e/basic/pvc-selected-node-changing.go @@ -91,7 +91,7 @@ func (p *PVCSelectedNodeChanging) CreateResources() error { By("Prepare ConfigMap data", func() { nodeNameList, err := GetWorkerNodes(p.Ctx) Expect(err).To(Succeed()) - Expect(len(nodeNameList) > 2).To(Equal(true)) + Expect(len(nodeNameList) >= 2).To(Equal(true)) for _, nodeName := range nodeNameList { if nodeName != p.oldNodeName { p.newNodeName = nodeName diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 1d3c4127d2..c62d9e87fa 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -22,6 +22,7 @@ import ( "flag" "fmt" "testing" + "time" . "github.com/onsi/ginkgo" "github.com/onsi/ginkgo/reporters" @@ -205,6 +206,8 @@ var _ = BeforeSuite(func() { var _ = AfterSuite(func() { if VeleroCfg.InstallVelero && !VeleroCfg.Debug { By("release test resources after testing") - Expect(VeleroUninstall(context.Background(), VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace)).To(Succeed()) + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + Expect(VeleroUninstall(ctx, VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace)).To(Succeed()) } }) diff --git a/test/e2e/migration/migration.go b/test/e2e/migration/migration.go index 0a35e00cb1..c62d7f27f2 100644 --- a/test/e2e/migration/migration.go +++ b/test/e2e/migration/migration.go @@ -73,7 +73,9 @@ func MigrationTest(useVolumeSnapshots bool, veleroCLI2Version VeleroCLI2Version) // need to uninstall Velero first in case of the affection of the existing global velero installation if veleroCfg.InstallVelero { By("Uninstall Velero", func() { - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) }) } @@ -86,13 +88,15 @@ func MigrationTest(useVolumeSnapshots bool, veleroCLI2Version VeleroCLI2Version) // }) if veleroCfg.InstallVelero { By(fmt.Sprintf("Uninstall Velero and delete sample workload namespace %s", migrationNamespace), func() { + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() Expect(KubectlConfigUseContext(context.Background(), veleroCfg.DefaultCluster)).To(Succeed()) - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) DeleteNamespace(context.Background(), *veleroCfg.DefaultClient, migrationNamespace, true) Expect(KubectlConfigUseContext(context.Background(), veleroCfg.StandbyCluster)).To(Succeed()) - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) DeleteNamespace(context.Background(), *veleroCfg.StandbyClient, migrationNamespace, true) }) diff --git a/test/e2e/upgrade/upgrade.go b/test/e2e/upgrade/upgrade.go index f5102b79a3..077823526d 100644 --- a/test/e2e/upgrade/upgrade.go +++ b/test/e2e/upgrade/upgrade.go @@ -77,7 +77,9 @@ func BackupUpgradeRestoreTest(useVolumeSnapshots bool, veleroCLI2Version VeleroC // need to uninstall Velero first in case of the affection of the existing global velero installation if veleroCfg.InstallVelero { By("Uninstall Velero", func() { - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) }) } @@ -92,7 +94,9 @@ func BackupUpgradeRestoreTest(useVolumeSnapshots bool, veleroCLI2Version VeleroC }) if veleroCfg.InstallVelero { By("Uninstall Velero", func() { - Expect(VeleroUninstall(context.Background(), veleroCfg.VeleroCLI, + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + Expect(VeleroUninstall(ctx, veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace)).To(Succeed()) }) } diff --git a/test/e2e/util/velero/install.go b/test/e2e/util/velero/install.go index e0daab2672..7d9ce3546b 100644 --- a/test/e2e/util/velero/install.go +++ b/test/e2e/util/velero/install.go @@ -127,6 +127,7 @@ func VeleroInstall(ctx context.Context, veleroCfg *VeleroConfig, isStandbyCluste RestoreHelperImage: veleroCfg.RestoreHelperImage, VeleroServerDebugMode: veleroCfg.VeleroServerDebugMode, }) + if err != nil { RunDebug(context.Background(), veleroCfg.VeleroCLI, veleroCfg.VeleroNamespace, "", "") return errors.WithMessagef(err, "Failed to install Velero in the cluster") @@ -536,7 +537,9 @@ func PrepareVelero(ctx context.Context, caseName string) error { ready, err := IsVeleroReady(context.Background(), VeleroCfg.VeleroNamespace, VeleroCfg.UseNodeAgent) if err != nil { fmt.Printf("error in checking velero status with %v", err) - VeleroUninstall(context.Background(), VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace) + ctx, ctxCancel := context.WithTimeout(context.Background(), time.Minute*5) + defer ctxCancel() + VeleroUninstall(ctx, VeleroCfg.VeleroCLI, VeleroCfg.VeleroNamespace) ready = false } if ready {