27 Commits
Author SHA1 Message Date
KrishhnaTandGitHub 6093ea050c e2e: fail the suite when a label filter selects no specs (#10674)
Run the E2E test on kind / setup-test-matrix (push) Failing after 3s
e2e-test-kind.yaml / extract (push) Failing after 6s
Run the E2E test on kind / get-go-version (push) Failing after 7s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
Run the E2E test on kind / run-csi-e2e-test (push) Skipped
push.yml / extract (push) Failing after 6s
Scorecard supply-chain security / Scorecard analysis (push) Skipped
Main CI / get-go-version (push) Failing after 7s
Main CI / Build (push) Skipped
* e2e: fail the suite when a label filter selects no specs

A label expression that matches nothing is reported as a pass. Ginkgo
runs zero specs, prints SUCCESS!, and exits 0, so a run that tested
nothing is indistinguishable from one that tested everything asked of it:

  $ GINKGO_LABELS='Basic && BackupsSync' make -C test/ run-e2e
  Ran 0 of 70 Specs in 0.001 seconds
  SUCCESS! -- 0 Passed | 0 Failed | 0 Pending | 70 Skipped

That expression looks reasonable and selects nothing, because the backup
sync case is labelled Backups rather than Basic. The same shape of
mistake kept the VolumeGroupSnapshot case from running for months, where
CSISnapshot did not select CSIVolumeGroupSnapshot because a bare token is
matched by equality rather than as a substring.

Pass --fail-on-empty, which ginkgo has supported for far longer than the
version in go.mod, so the above now ends in:

  FAIL! - Detected no specs ran and --fail-on-empty is set

It cannot affect a run that selects specs and then skips them at run
time, which this suite does constantly on kind. The flag tests
specs.CountWithoutSkip(), and that Skip field is set only while the label
filter is applied, before anything runs; a Skip() call during a spec sets
the spec's state instead. Checked all five label rows the kind workflow
uses against every labelled Describe in the suite: the smallest selects
two specs, so none of them starts failing.

run-perf keeps the old behaviour. It takes its own labels for a different
workload, and an empty selection there is not what this is about.

Signed-off-by: krishhna24 <krishhnatupedev@gmail.com>

* Add changelog for #10674

Signed-off-by: krishhna24 <krishhnatupedev@gmail.com>

---------

Signed-off-by: krishhna24 <krishhnatupedev@gmail.com>
2026-10-21 06:10:55 -07:00
KrishhnaTandGitHub 8c59d546b0 e2e: make the StorageClass definitions configurable (#10588)
Run the E2E test on kind / setup-test-matrix (push) Failing after 3s
e2e-test-kind.yaml / extract (push) Failing after 7s
Run the E2E test on kind / get-go-version (push) Failing after 8s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 9s
Main CI / Build (push) Skipped
Scorecard supply-chain security / Scorecard analysis (push) Skipped
The e2e suite creates both of its StorageClasses from the provider's file
under testdata/storage-class, so running against a cluster whose volumes
need a different provisioner or parameters means editing test data every
other job also reads. On kind that is the only way to get a class a CSI
driver can snapshot.

Take the definition as a flag instead. --storage-class-file and
--storage-class-file-2 name a manifest each, and the suite keeps creating
and deleting what it applied, so nothing adopts resources it did not make.

The class names stay fixed. Every spec refers to e2e-storage-class and
e2e-storage-class-2, and CreateStorageClassFromYaml already takes a name
override, so only the definition needs to vary.

An empty --storage-class-file-2 runs without a second StorageClass, and
the three cases that map between two of them skip with a message saying
how to enable them. Which specs need it cannot be worked out in
BeforeSuite, since the label filter is not visible there yet, so this is
expressed as an opt-out rather than detection.

Signed-off-by: krishhna24 <krishhnatupedev@gmail.com>
2026-10-09 15:16:04 -04:00
Tiger KaovilaiandGitHub 5ecf38b5d7 Derive dev-tool CLI versions from go.mod (ginkgo, protoc-gen-go, goimports) (#10024)
* Derive Ginkgo CLI version from go.mod in test/Makefile

Hardcoded @v2.22.0 pin drifted from go.mod's v2.28.3, causing
Ginkgo CLI/package version mismatch warnings.

Fixes #10023

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

* Derive protoc-gen-go and goimports versions from go.mod in build-image

Same drift issue as #10023: Dockerfile hardcoded @v1.33.0 and @v0.33.0
while go.mod had moved on. Build context is hack/build-image, which
doesn't include go.mod, so versions are computed in the Makefile (which
does have go.mod) and passed through as build-args, same as GOPROXY.

protoc-gen-go-grpc and controller-gen/setup-envtest/golangci-lint are
left as-is: no matching go.mod entry, or independently versioned from
the module they live alongside.

Fixes #10023

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>

---------

Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
2026-07-23 15:43:47 -04:00
Xun Jiang/Bruce JiangandGitHub 8575ff031d Modify the e2e upgrade test to support n-1 upgrade. (#9854)
Run the E2E test on kind / get-go-version (push) Failing after 58s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 2s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / get-go-version (push) Successful in 13s
Main CI / Build (push) Failing after 41s
Trivy Nightly Scan / Trivy nightly scan (velero, main) (push) Failing after 2m12s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-aws, main) (push) Failing after 1m46s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-gcp, main) (push) Failing after 1m40s
Trivy Nightly Scan / Trivy nightly scan (velero-plugin-for-microsoft-azure, main) (push) Failing after 1m33s
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2026-05-27 15:23:38 -04:00
Xun Jiang 710ebb9d92 Update the migration and upgrade test cases.
Modify Dockerfile to fix GitHub CI action error.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2026-02-12 13:20:34 +08:00
Xun Jiang b5ccc4373d Add functions to validate and compare the E2E Velero version.
Run the E2E test on kind / get-go-version (push) Failing after 1m8s
Run the E2E test on kind / build (push) Has been skipped
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Remove 'self' from MIGRATE_FROM_VELERO_VERSION.
  * Need to modify the BYOT case to specify MIGRATE_FROM_VELERO_VERSION.
Remove the CSI plugin installation check for no older than v1.14

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-12-26 12:53:09 +08:00
Xun Jiang e8208097ba Bump k8s library to v1.33.
Replace deprecated EventExpansion method with WithContext methods.
Modify UTs.
Align the E2E ginkgo CLI version with go.mod

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-09-10 17:58:38 +08:00
Xun Jiang 0f43f999db Update the E2E upgrade test's from versions.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-08-20 23:13:36 +08:00
Priyansh ChoudharyandGitHub bd09744b2d Add provision for labels and annotations in E2E tests. (#9043)
Run the E2E test on kind / build (push) Failing after 6m44s
Run the E2E test on kind / setup-test-matrix (push) Successful in 4s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 59s
* Add support for pod labels and service account annotations in Velero configuration
Signed-off-by: Priyansh Choudhary <im1706@gmail.com>

* Refactor Velero configuration to use string types for pod labels and service account annotations
Signed-off-by: Priyansh Choudhary <im1706@gmail.com>
2025-06-26 21:00:01 -04:00
Xun Jiang a18fe55585 Support Windows E2E.
* Please notice only Kibishii workload support Windows test,
because the other work loads use busybox image, and not support Windows.
* Refactor CreateFileToPod to support Windows.
* Add skip logic for migration test if the version is under 1.16.
* Add main in semver check.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-05-20 15:58:15 +08:00
Xun Jiang d3e8e9a9c2 Remove pushing images to GCR.
Remove dependency with GCR.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-05-08 20:42:21 +08:00
Xun Jiang/Bruce JiangandGitHub 54907a03fe E2E support sets the --item-block-worker-count. (#8836)
Run the E2E test on kind / build (push) Failing after 6m51s
Run the E2E test on kind / setup-test-matrix (push) Successful in 3s
Run the E2E test on kind / run-e2e-test (push) Has been skipped
Main CI / Build (push) Failing after 39s
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-04-08 20:30:51 -04:00
Xun Jiang 9d0493c2b5 Bump the migration and upgrade E2E test source version.
Add v1.16 related plugin and other image default version.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2025-03-28 11:41:39 +08:00
Xun Jiang b02fc1da96 E2E supports VKS data mover environment.
* Add new flag HAS_VSPHERE_PLUGIN for E2E test.
* Modify the E2E README for the new parameter.
* Add the VolumeSnapshotClass for VKS.
* Modify the plugin install logic.
* Modify the cases to support data mover case in VKS.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-11-12 23:25:28 +08:00
Xun Jiang 82ce1fa44f Fix the KIBISHII_DIRECTORY parameter not work for make test-e2e issue.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-10-24 17:19:50 +08:00
Xun Jiang 1831c7b2dc Bump the E2E migration and upgrade Velero and plugin versions for 1.15
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-10-22 14:38:19 +08:00
Xun Jiang 6a1d8dfc6c Fix the context choosing error after migration case.
Change the FAIL_FAST default value to false.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-10-15 13:49:32 +08:00
Xun Jiang 1ba78b83bf Skip uninstall and resource cleanup when fail-fast is enabled.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-09-23 20:24:14 +08:00
Xun Jiang f1846be634 Enable --fail-fast by default for E2E and performance tests.
Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-09-10 22:25:08 +08:00
Xun Jiang af62dd4b3e Modify E2E and perf test result output directory.
Add LongTime label to more E2E cases.

Signed-off-by: Xun Jiang <xun.jiang@broadcom.com>
2024-08-20 10:58:32 +08:00
Xun Jiang 71c75d6dcb Set the Ginkgo timeout to 5 hours.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-24 22:39:45 +08:00
Xun Jiang e862b976a4 Use labels instead of regex to filter E2E test cases.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-24 15:33:06 +08:00
Xun Jiang afca7dd6fe Replace RunSpecsWithDefaultAndCustomReporters with RunSpecs.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-22 15:58:00 +08:00
Xun Jiang 7a3b947961 Bump Ginkgo to v2.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-07-17 15:31:23 +08:00
Xun Jiang 291d55f154 Bump the E2E upgrade and migration test version.
Signed-off-by: Xun Jiang <blackpigletbruce@gmail.com>
2024-05-17 14:19:06 +08:00
danfengl 85495eef48 Fix makefile param issue
Using VERSION instead of VELERO_VERSION, since VERSION is passed from root Makefile.
Signed-off-by: danfengl <danfengl@vmware.com>
2024-05-11 05:40:03 +00:00
Ming Qiu a0fb7398cf Merge makefile for e2e perf test
Signed-off-by: Ming Qiu <ming.qiu@broadcom.com>
2024-04-19 02:15:30 +00:00