From 2c46b4740474d69ad99f2695a68427061eadc2a2 Mon Sep 17 00:00:00 2001 From: Scott Seago Date: Fri, 9 Jul 2021 17:12:53 -0400 Subject: [PATCH] enable e2e tests to choose crd apiVersion Signed-off-by: Scott Seago --- changelogs/unreleased/3941-sseago | 1 + test/e2e/Makefile | 2 ++ test/e2e/backup_test.go | 2 +- test/e2e/e2e_suite_test.go | 7 ++++--- test/e2e/enable_api_group_versions_test.go | 1 + test/e2e/multiple_namespaces_test.go | 4 ++-- test/e2e/velero_utils.go | 3 ++- 7 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 changelogs/unreleased/3941-sseago diff --git a/changelogs/unreleased/3941-sseago b/changelogs/unreleased/3941-sseago new file mode 100644 index 0000000000..17751a5ff2 --- /dev/null +++ b/changelogs/unreleased/3941-sseago @@ -0,0 +1 @@ +enable e2e tests to choose crd apiVersion diff --git a/test/e2e/Makefile b/test/e2e/Makefile index b4b6f2f2c9..ba58f94763 100644 --- a/test/e2e/Makefile +++ b/test/e2e/Makefile @@ -48,6 +48,7 @@ OUTPUT_DIR := _output/$(GOOS)/$(GOARCH)/bin GINKGO_FOCUS ?= VELERO_CLI ?=$$(pwd)/../../_output/bin/$(GOOS)/$(GOARCH)/velero VELERO_IMAGE ?= velero/velero:main +CRDS_VERSION ?= v1 VELERO_NAMESPACE ?= velero CREDS_FILE ?= BSL_BUCKET ?= @@ -80,6 +81,7 @@ run: ginkgo @$(GINKGO) -v -focus="$(GINKGO_FOCUS)" . -- -velerocli=$(VELERO_CLI) \ -velero-image=$(VELERO_IMAGE) \ -velero-namespace=$(VELERO_NAMESPACE) \ + -crds-version=$(CRDS_VERSION) \ -credentials-file=$(CREDS_FILE) \ -bucket=$(BSL_BUCKET) \ -prefix=$(BSL_PREFIX) \ diff --git a/test/e2e/backup_test.go b/test/e2e/backup_test.go index b47fdcde34..1832ec60f5 100644 --- a/test/e2e/backup_test.go +++ b/test/e2e/backup_test.go @@ -60,7 +60,7 @@ func backup_restore_test(useVolumeSnapshots bool) { Expect(err).To(Succeed()) if installVelero { Expect(veleroInstall(context.Background(), veleroImage, veleroNamespace, cloudProvider, objectStoreProvider, useVolumeSnapshots, - cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, "")).To(Succeed()) + cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, crdsVersion, "")).To(Succeed()) } }) diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 05f7873100..88ffb6b8c8 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -26,9 +26,9 @@ import ( ) var ( - veleroCLI, veleroImage, cloudCredentialsFile, bslConfig, bslBucket, bslPrefix, vslConfig, cloudProvider, objectStoreProvider, veleroNamespace string - additionalBSLProvider, additionalBSLBucket, additionalBSLPrefix, additionalBSLConfig, additionalBSLCredentials string - installVelero bool + veleroCLI, veleroImage, cloudCredentialsFile, bslConfig, bslBucket, bslPrefix, vslConfig, cloudProvider, objectStoreProvider, veleroNamespace, crdsVersion string + additionalBSLProvider, additionalBSLBucket, additionalBSLPrefix, additionalBSLConfig, additionalBSLCredentials string + installVelero bool ) func init() { @@ -50,6 +50,7 @@ func init() { flag.StringVar(&additionalBSLPrefix, "additional-bsl-prefix", "", "prefix under which all Velero data should be stored within the bucket for additional backup storage location. Optional.") flag.StringVar(&additionalBSLConfig, "additional-bsl-config", "", "configuration to use for the additional backup storage location. Format is key1=value1,key2=value2") flag.StringVar(&additionalBSLCredentials, "additional-bsl-credentials-file", "", "file containing credentials for additional backup storage location provider. Required if testing multiple credentials support.") + flag.StringVar(&crdsVersion, "crds-version", "v1", "CRD apiVersion for velero CRD creation.") } func TestE2e(t *testing.T) { diff --git a/test/e2e/enable_api_group_versions_test.go b/test/e2e/enable_api_group_versions_test.go index 12ec6d2f38..442d911cd1 100644 --- a/test/e2e/enable_api_group_versions_test.go +++ b/test/e2e/enable_api_group_versions_test.go @@ -68,6 +68,7 @@ var _ = Describe("[APIGroup] Velero tests with various CRD API group versions", bslPrefix, bslConfig, vslConfig, + crdsVersion, "EnableAPIGroupVersions", // TODO: remove when feature flag is removed ) Expect(err).NotTo(HaveOccurred()) diff --git a/test/e2e/multiple_namespaces_test.go b/test/e2e/multiple_namespaces_test.go index 4dcfeb7d78..5e809b6983 100644 --- a/test/e2e/multiple_namespaces_test.go +++ b/test/e2e/multiple_namespaces_test.go @@ -28,7 +28,7 @@ var _ = Describe("[Basic] Backup/restore of 2 namespaces", func() { Expect(err).To(Succeed()) if installVelero { Expect(veleroInstall(context.Background(), veleroImage, veleroNamespace, cloudProvider, objectStoreProvider, false, - cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, "")).To(Succeed()) + cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, crdsVersion, "")).To(Succeed()) } }) @@ -65,7 +65,7 @@ var _ = Describe("[Scale] Backup/restore of 2500 namespaces", func() { Expect(err).To(Succeed()) if installVelero { Expect(veleroInstall(context.Background(), veleroImage, veleroNamespace, cloudProvider, objectStoreProvider, false, - cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, "")).To(Succeed()) + cloudCredentialsFile, bslBucket, bslPrefix, bslConfig, vslConfig, crdsVersion, "")).To(Succeed()) } }) diff --git a/test/e2e/velero_utils.go b/test/e2e/velero_utils.go index 6a33eb268e..e01791a54b 100644 --- a/test/e2e/velero_utils.go +++ b/test/e2e/velero_utils.go @@ -286,7 +286,7 @@ func veleroRestore(ctx context.Context, veleroCLI string, veleroNamespace string func veleroInstall(ctx context.Context, veleroImage string, veleroNamespace string, cloudProvider string, objectStoreProvider string, useVolumeSnapshots bool, cloudCredentialsFile string, bslBucket string, bslPrefix string, bslConfig string, vslConfig string, - features string) error { + crdsVersion string, features string) error { if cloudProvider != "kind" { if objectStoreProvider != "" { @@ -330,6 +330,7 @@ func veleroInstall(ctx context.Context, veleroImage string, veleroNamespace stri } veleroInstallOptions.UseRestic = !useVolumeSnapshots veleroInstallOptions.Image = veleroImage + veleroInstallOptions.CRDsVersion = crdsVersion veleroInstallOptions.Namespace = veleroNamespace err = installVeleroServer(veleroInstallOptions)