@@ -228,6 +228,9 @@ configvar CSI_PROW_E2E_VERSION "$(version_to_git "${CSI_PROW_KUBERNETES_VERSION}
228
228
configvar CSI_PROW_E2E_REPO " https://github.com/kubernetes/kubernetes" " E2E repo"
229
229
configvar CSI_PROW_E2E_IMPORT_PATH " k8s.io/kubernetes" " E2E package"
230
230
231
+ # Local path for e2e tests. Set to "none" to disable.
232
+ configvar CSI_PROW_SIDECAR_E2E_IMPORT_PATH " none" " CSI Sidecar E2E package"
233
+
231
234
# csi-sanity testing from the csi-test repo can be run against the installed
232
235
# CSI driver. For this to work, deploying the driver must expose the Unix domain
233
236
# csi.sock as a TCP service for use by the csi-sanity command, which runs outside
@@ -282,13 +285,18 @@ tests_enabled () {
282
285
sanity_enabled () {
283
286
[ " ${CSI_PROW_TESTS_SANITY} " = " sanity" ] && tests_enabled " sanity"
284
287
}
288
+
289
+ sidecar_tests_enabled () {
290
+ [ " ${CSI_PROW_SIDECAR_E2E_IMPORT_PATH} " != " none" ]
291
+ }
292
+
285
293
tests_need_kind () {
286
294
tests_enabled " parallel" " serial" " serial-alpha" " parallel-alpha" ||
287
- sanity_enabled
295
+ sanity_enabled || sidecar_tests_enabled
288
296
}
289
297
tests_need_non_alpha_cluster () {
290
298
tests_enabled " parallel" " serial" ||
291
- sanity_enabled
299
+ sanity_enabled || sidecar_tests_enabled
292
300
}
293
301
tests_need_alpha_cluster () {
294
302
tests_enabled " parallel-alpha" " serial-alpha"
@@ -352,6 +360,11 @@ configvar CSI_PROW_E2E_ALPHA_GATES "$(get_versioned_variable CSI_PROW_E2E_ALPHA_
352
360
configvar CSI_PROW_E2E_GATES_LATEST ' ' " non alpha feature gates for latest Kubernetes"
353
361
configvar CSI_PROW_E2E_GATES " $( get_versioned_variable CSI_PROW_E2E_GATES " ${csi_prow_kubernetes_version_suffix} " ) " " non alpha E2E feature gates"
354
362
363
+ # Focus for local tests run in the sidecar E2E repo. Only used if CSI_PROW_SIDECAR_E2E_IMPORT_PATH
364
+ # is not set to "none". If empty, all tests in the sidecar repo will be run.
365
+ configvar CSI_PROW_SIDECAR_E2E_FOCUS ' ' " tags for local E2E tests"
366
+ configvar CSI_PROW_SIDECAR_E2E_SKIP ' ' " local tests that need to be skipped"
367
+
355
368
# Which external-snapshotter tag to use for the snapshotter CRD and snapshot-controller deployment
356
369
default_csi_snapshotter_version () {
357
370
if [ " ${CSI_PROW_KUBERNETES_VERSION} " = " latest" ] || [ " ${CSI_PROW_DRIVER_CANARY} " = " canary" ]; then
@@ -942,6 +955,9 @@ install_e2e () {
942
955
return
943
956
fi
944
957
958
+ if sidecar_tests_enabled; then
959
+ run_with_go " ${CSI_PROW_GO_VERSION_BUILD} " go test -c -o " ${CSI_PROW_WORK} /e2e-local.test" " ${CSI_PROW_SIDECAR_E2E_IMPORT_PATH} "
960
+ fi
945
961
git_checkout " ${CSI_PROW_E2E_REPO} " " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " " ${CSI_PROW_E2E_VERSION} " --depth=1 &&
946
962
if [ " ${CSI_PROW_E2E_IMPORT_PATH} " = " k8s.io/kubernetes" ]; then
947
963
patch_kubernetes " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " " ${CSI_PROW_WORK} " &&
@@ -997,8 +1013,13 @@ run_e2e () (
997
1013
}
998
1014
trap move_junit EXIT
999
1015
1000
- cd " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " &&
1001
- run_with_loggers env KUBECONFIG=" $KUBECONFIG " KUBE_TEST_REPO_LIST=" $( if [ -e " ${CSI_PROW_WORK} /e2e-repo-list" ]; then echo " ${CSI_PROW_WORK} /e2e-repo-list" ; fi) " ginkgo -v " $@ " " ${CSI_PROW_WORK} /e2e.test" -- -report-dir " ${ARTIFACTS} " -storage.testdriver=" ${CSI_PROW_WORK} /test-driver.yaml"
1016
+ if [ " ${name} " == " local" ]; then
1017
+ cd " ${GOPATH} /src/${CSI_PROW_SIDECAR_E2E_IMPORT_PATH} " &&
1018
+ run_with_loggers env KUBECONFIG=" $KUBECONFIG " KUBE_TEST_REPO_LIST=" $( if [ -e " ${CSI_PROW_WORK} /e2e-repo-list" ]; then echo " ${CSI_PROW_WORK} /e2e-repo-list" ; fi) " ginkgo -v " $@ " " ${CSI_PROW_WORK} /e2e-local.test" -- -report-dir " ${ARTIFACTS} " -report-prefix local
1019
+ else
1020
+ cd " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " &&
1021
+ run_with_loggers env KUBECONFIG=" $KUBECONFIG " KUBE_TEST_REPO_LIST=" $( if [ -e " ${CSI_PROW_WORK} /e2e-repo-list" ]; then echo " ${CSI_PROW_WORK} /e2e-repo-list" ; fi) " ginkgo -v " $@ " " ${CSI_PROW_WORK} /e2e.test" -- -report-dir " ${ARTIFACTS} " -storage.testdriver=" ${CSI_PROW_WORK} /test-driver.yaml"
1022
+ fi
1002
1023
)
1003
1024
1004
1025
# Run csi-sanity against installed CSI driver.
@@ -1310,6 +1331,15 @@ main () {
1310
1331
ret=1
1311
1332
fi
1312
1333
fi
1334
+
1335
+ if sidecar_tests_enabled; then
1336
+ if ! run_e2e local \
1337
+ -focus=" ${CSI_PROW_SIDECAR_E2E_FOCUS} " \
1338
+ -skip=" $( regex_join " ${CSI_PROW_E2E_SERIAL} " ) " ; then
1339
+ warn " E2E sidecar failed"
1340
+ ret=1
1341
+ fi
1342
+ fi
1313
1343
fi
1314
1344
delete_cluster_inside_prow_job non-alpha
1315
1345
fi
0 commit comments