@@ -86,7 +86,7 @@ configvar CSI_PROW_BUILD_PLATFORMS "linux amd64 amd64; linux ppc64le ppc64le -pp
8686#  which is disabled with GOFLAGS=-mod=vendor).
8787configvar GOFLAGS_VENDOR " $(  [ -d  vendor ] &&  echo  ' -mod=vendor' ) " " Go flags for using the vendor directory" 
8888
89- configvar CSI_PROW_GO_VERSION_BUILD " 1.18 " " Go version for building the component" #  depends on component's source code
89+ configvar CSI_PROW_GO_VERSION_BUILD " 1.19 " " Go version for building the component" #  depends on component's source code
9090configvar CSI_PROW_GO_VERSION_E2E " " " override Go version for building the Kubernetes E2E test suite" #  normally doesn't need to be set, see install_e2e
9191configvar CSI_PROW_GO_VERSION_SANITY " ${CSI_PROW_GO_VERSION_BUILD} " " Go version for building the csi-sanity test suite" #  depends on CSI_PROW_SANITY settings below
9292configvar CSI_PROW_GO_VERSION_KIND " ${CSI_PROW_GO_VERSION_BUILD} " " Go version for building 'kind'" #  depends on CSI_PROW_KIND_VERSION below
@@ -141,7 +141,7 @@ kind_version_default () {
141141        latest|master)
142142            echo  main;;
143143        * )
144-             echo  v0.11.1 ;;
144+             echo  v0.14.0 ;;
145145    esac 
146146}
147147
@@ -152,16 +152,13 @@ configvar CSI_PROW_KIND_VERSION "$(kind_version_default)" "kind"
152152
153153#  kind images to use. Must match the kind version.
154154#  The release notes of each kind release list the supported images.
155- configvar CSI_PROW_KIND_IMAGES " kindest/node:v1.23.0@sha256:49824ab1727c04e56a21a5d8372a402fcd32ea51ac96a2706a12af38934f81ac
156- kindest/node:v1.22.0@sha256:b8bda84bb3a190e6e028b1760d277454a72267a5454b57db34437c34a588d047 
157- kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6 
158- kindest/node:v1.20.7@sha256:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9 
159- kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729 
160- kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c 
161- kindest/node:v1.17.17@sha256:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00 
162- kindest/node:v1.16.15@sha256:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861 
163- kindest/node:v1.15.12@sha256:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95 
164- kindest/node:v1.14.10@sha256:f8a66ef82822ab4f7569e91a5bccaf27bceee135c1457c512e54de8c6f7219f8"   " kind images" 
155+ configvar CSI_PROW_KIND_IMAGES " kindest/node:v1.24.0@sha256:0866296e693efe1fed79d5e6c7af8df71fc73ae45e3679af05342239cdc5bc8e
156+ kindest/node:v1.23.6@sha256:b1fa224cc6c7ff32455e0b1fd9cbfd3d3bc87ecaa8fcb06961ed1afb3db0f9ae 
157+ kindest/node:v1.22.9@sha256:8135260b959dfe320206eb36b3aeda9cffcb262f4b44cda6b33f7bb73f453105 
158+ kindest/node:v1.21.12@sha256:f316b33dd88f8196379f38feb80545ef3ed44d9197dca1bfd48bcb1583210207 
159+ kindest/node:v1.20.15@sha256:6f2d011dffe182bad80b85f6c00e8ca9d86b5b8922cdf433d53575c4c5212248 
160+ kindest/node:v1.19.16@sha256:d9c819e8668de8d5030708e484a9fdff44d95ec4675d136ef0a0a584e587f65c 
161+ kindest/node:v1.18.20@sha256:738cdc23ed4be6cc0b7ea277a2ebcc454c8373d7d8fb991a7fcdbd126188e6d7"   " kind images" 
165162
166163#  By default, this script tests sidecars with the CSI hostpath driver,
167164#  using the install_csi_driver function. That function depends on
@@ -231,6 +228,9 @@ configvar CSI_PROW_E2E_VERSION "$(version_to_git "${CSI_PROW_KUBERNETES_VERSION}
231228configvar CSI_PROW_E2E_REPO " https://github.com/kubernetes/kubernetes" " E2E repo" 
232229configvar CSI_PROW_E2E_IMPORT_PATH " k8s.io/kubernetes" " E2E package" 
233230
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+ 
234234#  csi-sanity testing from the csi-test repo can be run against the installed
235235#  CSI driver. For this to work, deploying the driver must expose the Unix domain
236236#  csi.sock as a TCP service for use by the csi-sanity command, which runs outside
@@ -285,13 +285,18 @@ tests_enabled () {
285285sanity_enabled  () {
286286    [ " ${CSI_PROW_TESTS_SANITY} " =  " sanity" &&  tests_enabled " sanity" 
287287}
288+ 
289+ sidecar_tests_enabled  () {
290+   [ " ${CSI_PROW_SIDECAR_E2E_IMPORT_PATH} " !=  " none" 
291+ }
292+ 
288293tests_need_kind  () {
289294    tests_enabled " parallel" " serial" " serial-alpha" " parallel-alpha" || 
290-         sanity_enabled
295+         sanity_enabled  ||  sidecar_tests_enabled 
291296}
292297tests_need_non_alpha_cluster  () {
293298    tests_enabled " parallel" " serial" || 
294-         sanity_enabled
299+         sanity_enabled  ||  sidecar_tests_enabled 
295300}
296301tests_need_alpha_cluster  () {
297302    tests_enabled " parallel-alpha" " serial-alpha" 
@@ -355,12 +360,17 @@ configvar CSI_PROW_E2E_ALPHA_GATES "$(get_versioned_variable CSI_PROW_E2E_ALPHA_
355360configvar CSI_PROW_E2E_GATES_LATEST ' ' " non alpha feature gates for latest Kubernetes" 
356361configvar CSI_PROW_E2E_GATES " $( get_versioned_variable CSI_PROW_E2E_GATES " ${csi_prow_kubernetes_version_suffix} " ) " " non alpha E2E feature gates" 
357362
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+ 
358368#  Which external-snapshotter tag to use for the snapshotter CRD and snapshot-controller deployment
359369default_csi_snapshotter_version  () {
360370	if  [ " ${CSI_PROW_KUBERNETES_VERSION} " =  " latest" ||  [ " ${CSI_PROW_DRIVER_CANARY} " =  " canary" ;  then 
361371		echo  " master" 
362372	else 
363- 		echo  " v3 .0.2 " 
373+ 		echo  " v4 .0.0 " 
364374	fi 
365375}
366376configvar CSI_SNAPSHOTTER_VERSION " $( default_csi_snapshotter_version) " " external-snapshotter version tag" 
@@ -371,7 +381,7 @@ configvar CSI_SNAPSHOTTER_VERSION "$(default_csi_snapshotter_version)" "external
371381#  whether they can run with the current cluster provider, but until
372382#  they are, we filter them out by name. Like the other test selection
373383#  variables, this is again a space separated list of regular expressions.
374- configvar CSI_PROW_E2E_SKIP ' Disruptive' " tests that need to be skipped" 
384+ configvar CSI_PROW_E2E_SKIP ' \[ Disruptive\]|\[Feature:SELinux\] ' " tests that need to be skipped" 
375385
376386#  This creates directories that are required for testing.
377387ensure_paths  () {
@@ -945,6 +955,9 @@ install_e2e () {
945955        return  
946956    fi  
947957
958+     if  sidecar_tests_enabled;  then  
959+         run_with_go " ${CSI_PROW_GO_VERSION_BUILD} " test  -c -o " ${CSI_PROW_WORK} /e2e-local.test" " ${CSI_PROW_SIDECAR_E2E_IMPORT_PATH} "  
960+     fi  
948961    git_checkout " ${CSI_PROW_E2E_REPO} " " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " " ${CSI_PROW_E2E_VERSION} " &&  
949962    if  [ " ${CSI_PROW_E2E_IMPORT_PATH} " =  " k8s.io/kubernetes" ;  then  
950963        patch_kubernetes " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " " ${CSI_PROW_WORK} " &&  
@@ -1000,8 +1013,13 @@ run_e2e () (
10001013    } 
10011014    trap  move_junit EXIT 
10021015
1003-     cd  " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " &&  
1004-     run_with_loggers env KUBECONFIG=" $KUBECONFIG " " $( if [ -e  " ${CSI_PROW_WORK} /e2e-repo-list" ;  then  echo  " ${CSI_PROW_WORK} /e2e-repo-list" ;  fi) " " $@ " " ${CSI_PROW_WORK} /e2e.test" " ${ARTIFACTS} " " ${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 " " $( if [ -e  " ${CSI_PROW_WORK} /e2e-repo-list" ;  then  echo  " ${CSI_PROW_WORK} /e2e-repo-list" ;  fi) " " $@ " " ${CSI_PROW_WORK} /e2e-local.test" " ${ARTIFACTS} " local  
1019+     else  
1020+         cd  " ${GOPATH} /src/${CSI_PROW_E2E_IMPORT_PATH} " &&  
1021+         run_with_loggers env KUBECONFIG=" $KUBECONFIG " " $( if [ -e  " ${CSI_PROW_WORK} /e2e-repo-list" ;  then  echo  " ${CSI_PROW_WORK} /e2e-repo-list" ;  fi) " " $@ " " ${CSI_PROW_WORK} /e2e.test" " ${ARTIFACTS} " " ${CSI_PROW_WORK} /test-driver.yaml"  
1022+     fi  
10051023) 
10061024
10071025#  Run csi-sanity against installed CSI driver.
@@ -1313,6 +1331,15 @@ main () {
13131331                        ret=1 
13141332                    fi  
13151333                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  
13161343            fi  
13171344            delete_cluster_inside_prow_job non-alpha 
13181345        fi  
0 commit comments