From 557c997e27c19a91c35ef2a172f2aad81d8698cb Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Fri, 3 Sep 2021 13:34:47 +0000 Subject: [PATCH 1/5] chore: upgrade sidcar container versions --- charts/latest/csi-driver-nfs-v3.0.0.tgz | Bin 3457 -> 3462 bytes charts/latest/csi-driver-nfs/values.yaml | 4 ++-- deploy/csi-nfs-controller.yaml | 4 ++-- deploy/csi-nfs-node.yaml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/charts/latest/csi-driver-nfs-v3.0.0.tgz b/charts/latest/csi-driver-nfs-v3.0.0.tgz index 9f44c6955507b75e4c46727ad6a570a1f18c0b72..81de4495adfcb00c2c861051cb9cbc8c4b165ca9 100644 GIT binary patch delta 3419 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 Date: Mon, 6 Sep 2021 12:49:25 +0000 Subject: [PATCH 2/5] test: upgrade csi-provisioner to v3.0.0 in external e2e test --- test/external-e2e/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/external-e2e/run.sh b/test/external-e2e/run.sh index eed3bd43c..b08df4c79 100644 --- a/test/external-e2e/run.sh +++ b/test/external-e2e/run.sh @@ -30,7 +30,7 @@ setup_e2e_binaries() { tar -xvf e2e-tests.tar.gz && rm e2e-tests.tar.gz # enable fsGroupPolicy (only available from k8s 1.20) - export EXTRA_HELM_OPTIONS="--set feature.enableFSGroupPolicy=true --set driver.name=$DRIVER.csi.k8s.io --set controller.name=csi-$DRIVER-controller --set node.name=csi-$DRIVER-node" + export EXTRA_HELM_OPTIONS="--set feature.enableFSGroupPolicy=true --set driver.name=$DRIVER.csi.k8s.io --set controller.name=csi-$DRIVER-controller --set node.name=csi-$DRIVER-node --set image.csiProvisioner.tag=v3.0.0" # test on alternative driver name sed -i "s/nfs.csi.k8s.io/$DRIVER.csi.k8s.io/g" deploy/example/storageclass-nfs.yaml From b8145d42b55151463a67cd6ddfcdfe6789ebdbd6 Mon Sep 17 00:00:00 2001 From: Yuiko Mouri Date: Wed, 8 Sep 2021 11:56:48 +0900 Subject: [PATCH 3/5] Add usage using hack/verify-examples.sh --- deploy/example/README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/deploy/example/README.md b/deploy/example/README.md index dbbfbb082..f59bfec7f 100644 --- a/deploy/example/README.md +++ b/deploy/example/README.md @@ -13,7 +13,7 @@ Please refer to [driver parameters](../../docs/driver-parameters.md) for more de ## Storage Class Usage (Dynamic Provisioning) -- Follow the folling command to create a `StorageClass`, and then `PersistentVolume` and `PersistentVolumeClaim` dynamically. +- Follow the following command to create a `StorageClass`, and then `PersistentVolume` and `PersistentVolumeClaim` dynamically. ```bash # create StorageClass @@ -25,7 +25,7 @@ kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nf ## PV/PVC Usage (Static Provisioning) -- Follow the folling command to create `PersistentVolume` and `PersistentVolumeClaim` statically. +- Follow the following command to create `PersistentVolume` and `PersistentVolumeClaim` statically. ```bash # create PV @@ -34,3 +34,14 @@ kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nf # create PVC kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/example/pvc-nfs-csi-static.yaml ``` + +## Deployment/Statefulset Usage + +- Follow the following command to create `Deployment` and `Statefulset` . + +```bash +# create Deployment and Statefulset +git clone https://github.com/kubernetes-csi/csi-driver-nfs.git +cd csi-driver-nfs +./hack/verify-examples.sh +``` \ No newline at end of file From 61626a1ca5ed53c95f07db9ad9d6db02e3536b51 Mon Sep 17 00:00:00 2001 From: Mauricio Poppe Date: Fri, 10 Sep 2021 18:50:20 +0000 Subject: [PATCH 4/5] Squashed 'release-tools/' changes from c0a4fb1d..5489de6e https://github.com/kubernetes-csi/csi-release-tools/commit/5489de6e Merge https://github.com/kubernetes-csi/csi-release-tools/pull/174 from mauriciopoppe/bump-kind-version https://github.com/kubernetes-csi/csi-release-tools/commit/0c675d4c Bump kind version to v0.11.1 https://github.com/kubernetes-csi/csi-release-tools/commit/ef69a88d Merge https://github.com/kubernetes-csi/csi-release-tools/pull/173 from nick5616/add-ws2022 https://github.com/kubernetes-csi/csi-release-tools/commit/44c710c5 added WS2022 to build platforms https://github.com/kubernetes-csi/csi-release-tools/commit/0883be4f Merge https://github.com/kubernetes-csi/csi-release-tools/pull/171 from pohly/example-commands https://github.com/kubernetes-csi/csi-release-tools/commit/02cda510 build.make: support binaries outside of cmd, with optional go.mod https://github.com/kubernetes-csi/csi-release-tools/commit/65922ea2 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/170 from pohly/canary-snapshot-controller https://github.com/kubernetes-csi/csi-release-tools/commit/c0bdfb3a prow.sh: deploy canary snapshot-controller in canary jobs https://github.com/kubernetes-csi/csi-release-tools/commit/0438f15a Merge https://github.com/kubernetes-csi/csi-release-tools/pull/167 from c0va23/feature/release-armv7-image https://github.com/kubernetes-csi/csi-release-tools/commit/4786f4d0 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/168 from msau42/update-release-prereq https://github.com/kubernetes-csi/csi-release-tools/commit/6a2dc64a Remove requirement to be top-level approver. Only maintainers membership is required to do a release https://github.com/kubernetes-csi/csi-release-tools/commit/30a4f7bb Release armv7 image https://github.com/kubernetes-csi/csi-release-tools/commit/ac8108f1 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/165 from consideRatio/pr/update-github-links-ref-to-master-to-HEAD https://github.com/kubernetes-csi/csi-release-tools/commit/999b483d docs: make github links reference HEAD instead of main https://github.com/kubernetes-csi/csi-release-tools/commit/fd670693 docs: make github links reference HEAD instead of master git-subtree-dir: release-tools git-subtree-split: 5489de6e743cf8362e5ab8275988cc748d0758b0 --- README.md | 4 ++-- SECURITY_CONTACTS | 2 +- SIDECAR_RELEASE_PROCESS.md | 27 +++++++++++---------------- build.make | 14 +++++++++----- cloudbuild.yaml | 4 ++-- prow.sh | 38 +++++++++++++++++++++++++------------- 6 files changed, 50 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index b394724ce..4a4e56892 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ images. Building from master creates the main `canary` image. Sharing and updating -------------------- -[`git subtree`](https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt) +[`git subtree`](https://github.com/git/git/blob/HEAD/contrib/subtree/git-subtree.txt) is the recommended way of maintaining a copy of the rules inside the `release-tools` directory of a project. This way, it is possible to make changes also locally, test them and then push them back to the shared @@ -89,7 +89,7 @@ main All Kubernetes-CSI repos are expected to switch to Prow. For details on what is enabled in Prow, see -https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-csi +https://github.com/kubernetes/test-infra/tree/HEAD/config/jobs/kubernetes-csi Test results for periodic jobs are visible in https://testgrid.k8s.io/sig-storage-csi-ci diff --git a/SECURITY_CONTACTS b/SECURITY_CONTACTS index 2af1414e0..d34984eb0 100644 --- a/SECURITY_CONTACTS +++ b/SECURITY_CONTACTS @@ -4,7 +4,7 @@ # to for triaging and handling of incoming issues. # # The below names agree to abide by the -# [Embargo Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy) +# [Embargo Policy](https://github.com/kubernetes/sig-release/blob/HEAD/security-release-process-documentation/security-release-process.md#embargo-policy) # and will be removed and replaced if they violate that agreement. # # DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE diff --git a/SIDECAR_RELEASE_PROCESS.md b/SIDECAR_RELEASE_PROCESS.md index 0cab8233c..e4b30e898 100644 --- a/SIDECAR_RELEASE_PROCESS.md +++ b/SIDECAR_RELEASE_PROCESS.md @@ -9,13 +9,8 @@ The release manager must: * Be a member of the kubernetes-csi organization. Open an [issue](https://github.com/kubernetes/org/issues/new?assignees=&labels=area%2Fgithub-membership&template=membership.md&title=REQUEST%3A+New+membership+for+%3Cyour-GH-handle%3E) in kubernetes/org to request membership -* Be a top level approver for the repository. To become a top level approver, - the candidate must demonstrate ownership and deep knowledge of the repository - through active maintenance, responding to and fixing issues, reviewing PRs, - test triage. -* Be part of the maintainers or admin group for the repository. admin is a - superset of maintainers, only maintainers level is required for cutting a - release. Membership can be requested by submitting a PR to kubernetes/org. +* Be part of the maintainers group for the repository. + Membership can be requested by submitting a PR to kubernetes/org. [Example](https://github.com/kubernetes/org/pull/1467) ## Updating CI Jobs @@ -31,16 +26,16 @@ naming convention `-on-`. 1. "-on-master" jobs are the closest reflection to the new Kubernetes version. 1. Fixes to our prow.sh CI script can be tested in the [CSI hostpath repo](https://github.com/kubernetes-csi/csi-driver-host-path) by modifying - [prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/release-tools/prow.sh) + [prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/HEAD/release-tools/prow.sh) along with any overrides in - [.prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/.prow.sh) + [.prow.sh](https://github.com/kubernetes-csi/csi-driver-host-path/blob/HEAD/.prow.sh) to mirror the failing environment. Once e2e tests are passing (verify-unit tests will fail), then the prow.sh changes can be submitted to [csi-release-tools](https://github.com/kubernetes-csi/csi-release-tools). 1. Changes can then be updated in all the sidecar repos and hostpath driver repo by following the [update - instructions](https://github.com/kubernetes-csi/csi-release-tools/blob/master/README.md#sharing-and-updating). + instructions](https://github.com/kubernetes-csi/csi-release-tools/blob/HEAD/README.md#sharing-and-updating). 1. New pull and CI jobs are configured by adding new K8s versions to the top of - [gen-jobs.sh](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-csi/gen-jobs.sh). + [gen-jobs.sh](https://github.com/kubernetes/test-infra/blob/HEAD/config/jobs/kubernetes-csi/gen-jobs.sh). New pull jobs that have been unverified should be initially made optional by setting the new K8s version as [experimental](https://github.com/kubernetes/test-infra/blob/a1858f46d6014480b130789df58b230a49203a64/config/jobs/kubernetes-csi/gen-jobs.sh#L40). @@ -52,7 +47,7 @@ naming convention `-on-`. 1. Identify all issues and ongoing PRs that should go into the release, and drive them to resolution. 1. Download v2.8+ [K8s release notes - generator](https://github.com/kubernetes/release/tree/master/cmd/release-notes) + generator](https://github.com/kubernetes/release/tree/HEAD/cmd/release-notes) 1. Generate release notes for the release. Replace arguments with the relevant information. * Clean up old cached information (also needed if you are generating release @@ -95,15 +90,15 @@ naming convention `-on-`. 1. Check [image build status](https://k8s-testgrid.appspot.com/sig-storage-image-build). 1. Promote images from k8s-staging-sig-storage to k8s.gcr.io/sig-storage. From the [k8s image - repo](https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io/images/k8s-staging-sig-storage), + repo](https://github.com/kubernetes/k8s.io/tree/HEAD/k8s.gcr.io/images/k8s-staging-sig-storage), run `./generate.sh > images.yaml`, and send a PR with the updated images. Once merged, the image promoter will copy the images from staging to prod. 1. Update [kubernetes-csi/docs](https://github.com/kubernetes-csi/docs) sidecar and feature pages with the new released version. 1. After all the sidecars have been released, update - CSI hostpath driver with the new sidecars in the [CSI repo](https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy) + CSI hostpath driver with the new sidecars in the [CSI repo](https://github.com/kubernetes-csi/csi-driver-host-path/tree/HEAD/deploy) and [k/k - in-tree](https://github.com/kubernetes/kubernetes/tree/master/test/e2e/testing-manifests/storage-csi/hostpath/hostpath) + in-tree](https://github.com/kubernetes/kubernetes/tree/HEAD/test/e2e/testing-manifests/storage-csi/hostpath/hostpath) ## Adding support for a new Kubernetes release @@ -134,7 +129,7 @@ naming convention `-on-`. 1. Once all sidecars for the new Kubernetes release are released, either bump the version number of the images in the existing [csi-driver-host-path - deployments](https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy) + deployments](https://github.com/kubernetes-csi/csi-driver-host-path/tree/HEAD/deploy) and/or create a new deployment, depending on what Kubernetes release an updated sidecar is compatible with. If no new deployment is needed, then add a symlink to document that there intentionally diff --git a/build.make b/build.make index 0ed51e80a..6caf64fd5 100644 --- a/build.make +++ b/build.make @@ -21,6 +21,10 @@ SHELL := /bin/bash # set in main Makefile of a repository. # CMDS= +# Normally, commands are expected in "cmd". That can be changed for a +# repository to something else by setting CMDS_DIR before including build.make. +CMDS_DIR ?= cmd + # This is the default. It can be overridden in the main Makefile after # including build.make. REGISTRY_NAME?=quay.io/k8scsi @@ -90,7 +94,7 @@ $(CMDS:%=build-%): build-%: check-go-version-go if ! [ $${#os_arch_seen_pre} = $${#os_arch_seen} ]; then \ continue; \ fi; \ - if ! (set -x; CGO_ENABLED=0 GOOS="$$os" GOARCH="$$arch" go build $(GOFLAGS_VENDOR) -a -ldflags '$(FULL_LDFLAGS)' -o "./bin/$*$$suffix" ./cmd/$*); then \ + if ! (set -x; cd ./$(CMDS_DIR)/$* && CGO_ENABLED=0 GOOS="$$os" GOARCH="$$arch" go build $(GOFLAGS_VENDOR) -a -ldflags '$(FULL_LDFLAGS)' -o "$(abspath ./bin)/$*$$suffix" .); then \ echo "Building $* for GOOS=$$os GOARCH=$$arch failed, see error(s) above."; \ exit 1; \ fi; \ @@ -98,7 +102,7 @@ $(CMDS:%=build-%): build-%: check-go-version-go done $(CMDS:%=container-%): container-%: build-% - docker build -t $*:latest -f $(shell if [ -e ./cmd/$*/Dockerfile ]; then echo ./cmd/$*/Dockerfile; else echo Dockerfile; fi) --label revision=$(REV) . + docker build -t $*:latest -f $(shell if [ -e ./$(CMDS_DIR)/$*/Dockerfile ]; then echo ./$(CMDS_DIR)/$*/Dockerfile; else echo Dockerfile; fi) --label revision=$(REV) . $(CMDS:%=push-%): push-%: container-% set -ex; \ @@ -133,7 +137,7 @@ DOCKER_BUILDX_CREATE_ARGS ?= # This target builds a multiarch image for one command using Moby BuildKit builder toolkit. # Docker Buildx is included in Docker 19.03. # -# ./cmd//Dockerfile[.Windows] is used if found, otherwise Dockerfile[.Windows]. +# ./$(CMDS_DIR)//Dockerfile[.Windows] is used if found, otherwise Dockerfile[.Windows]. # It is currently optional: if no such file exists, Windows images are not included, # even when Windows is listed in BUILD_PLATFORMS. That way, projects can test that # Windows binaries can be built before adding a Dockerfile for it. @@ -146,8 +150,8 @@ $(CMDS:%=push-multiarch-%): push-multiarch-%: check-pull-base-ref build-% export DOCKER_CLI_EXPERIMENTAL=enabled; \ docker buildx create $(DOCKER_BUILDX_CREATE_ARGS) --use --name multiarchimage-buildertest; \ trap "docker buildx rm multiarchimage-buildertest" EXIT; \ - dockerfile_linux=$$(if [ -e ./cmd/$*/Dockerfile ]; then echo ./cmd/$*/Dockerfile; else echo Dockerfile; fi); \ - dockerfile_windows=$$(if [ -e ./cmd/$*/Dockerfile.Windows ]; then echo ./cmd/$*/Dockerfile.Windows; else echo Dockerfile.Windows; fi); \ + dockerfile_linux=$$(if [ -e ./$(CMDS_DIR)/$*/Dockerfile ]; then echo ./$(CMDS_DIR)/$*/Dockerfile; else echo Dockerfile; fi); \ + dockerfile_windows=$$(if [ -e ./$(CMDS_DIR)/$*/Dockerfile.Windows ]; then echo ./$(CMDS_DIR)/$*/Dockerfile.Windows; else echo Dockerfile.Windows; fi); \ if [ '$(BUILD_PLATFORMS)' ]; then build_platforms='$(BUILD_PLATFORMS)'; else build_platforms="linux amd64"; fi; \ if ! [ -f "$$dockerfile_windows" ]; then \ build_platforms="$$(echo "$$build_platforms" | sed -e 's/windows *[^ ]* *.exe *[^ ]* *[^ ]*//g' -e 's/; *;/;/g' -e 's/;[ ]*$$//')"; \ diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 823fd1c5a..d88fca6f1 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -10,10 +10,10 @@ # because binaries will get built for different architectures and then # get copied from the built host into the container image # -# See https://github.com/kubernetes/test-infra/blob/master/config/jobs/image-pushing/README.md +# See https://github.com/kubernetes/test-infra/blob/HEAD/config/jobs/image-pushing/README.md # for more details on image pushing process in Kubernetes. # -# To promote release images, see https://github.com/kubernetes/k8s.io/tree/main/k8s.gcr.io/images/k8s-staging-sig-storage. +# To promote release images, see https://github.com/kubernetes/k8s.io/tree/HEAD/k8s.gcr.io/images/k8s-staging-sig-storage. # This must be specified in seconds. If omitted, defaults to 600s (10 mins). # Building three images in external-snapshotter takes roughly half an hour, diff --git a/prow.sh b/prow.sh index d1c7b27fa..85b89007b 100755 --- a/prow.sh +++ b/prow.sh @@ -78,7 +78,7 @@ version_to_git () { # the list of windows versions was matched from: # - https://hub.docker.com/_/microsoft-windows-nanoserver # - https://hub.docker.com/_/microsoft-windows-servercore -configvar CSI_PROW_BUILD_PLATFORMS "linux amd64; linux ppc64le -ppc64le; linux s390x -s390x; linux arm64 -arm64; windows amd64 .exe nanoserver:1809 servercore:ltsc2019; windows amd64 .exe nanoserver:1909 servercore:1909; windows amd64 .exe nanoserver:2004 servercore:2004; windows amd64 .exe nanoserver:20H2 servercore:20H2" "Go target platforms (= GOOS + GOARCH) and file suffix of the resulting binaries" +configvar CSI_PROW_BUILD_PLATFORMS "linux amd64; linux ppc64le -ppc64le; linux s390x -s390x; linux arm -arm; linux arm64 -arm64; windows amd64 .exe nanoserver:1809 servercore:ltsc2019; windows amd64 .exe nanoserver:1909 servercore:1909; windows amd64 .exe nanoserver:2004 servercore:2004; windows amd64 .exe nanoserver:20H2 servercore:20H2; windows amd64 .exe nanoserver:ltsc2022 servercore:ltsc2022" "Go target platforms (= GOOS + GOARCH) and file suffix of the resulting binaries" # If we have a vendor directory, then use it. We must be careful to only # use this for "make" invocations inside the project's repo itself because @@ -138,7 +138,7 @@ kind_version_default () { latest|master) echo main;; *) - echo v0.11.0;; + echo v0.11.1;; esac } @@ -149,14 +149,15 @@ configvar CSI_PROW_KIND_VERSION "$(kind_version_default)" "kind" # kind images to use. Must match the kind version. # The release notes of each kind release list the supported images. -configvar CSI_PROW_KIND_IMAGES "kindest/node:v1.21.1@sha256:fae9a58f17f18f06aeac9772ca8b5ac680ebbed985e266f711d936e91d113bad -kindest/node:v1.20.7@sha256:e645428988191fc824529fd0bb5c94244c12401cf5f5ea3bd875eb0a787f0fe9 -kindest/node:v1.19.11@sha256:7664f21f9cb6ba2264437de0eb3fe99f201db7a3ac72329547ec4373ba5f5911 -kindest/node:v1.18.19@sha256:530378628c7c518503ade70b1df698b5de5585dcdba4f349328d986b8849b1ee -kindest/node:v1.17.17@sha256:c581fbf67f720f70aaabc74b44c2332cc753df262b6c0bca5d26338492470c17 -kindest/node:v1.16.15@sha256:430c03034cd856c1f1415d3e37faf35a3ea9c5aaa2812117b79e6903d1fc9651 -kindest/node:v1.15.12@sha256:8d575f056493c7778935dd855ded0e95c48cb2fab90825792e8fc9af61536bf9 -kindest/node:v1.14.10@sha256:6033e04bcfca7c5f2a9c4ce77551e1abf385bcd2709932ec2f6a9c8c0aff6d4f" "kind images" +configvar CSI_PROW_KIND_IMAGES "kindest/node:v1.22.0@sha256:b8bda84bb3a190e6e028b1760d277454a72267a5454b57db34437c34a588d047 +kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6 +kindest/node:v1.20.7@sha256:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9 +kindest/node:v1.19.11@sha256:07db187ae84b4b7de440a73886f008cf903fcf5764ba8106a9fd5243d6f32729 +kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c +kindest/node:v1.17.17@sha256:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00 +kindest/node:v1.16.15@sha256:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861 +kindest/node:v1.15.12@sha256:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95 +kindest/node:v1.14.10@sha256:f8a66ef82822ab4f7569e91a5bccaf27bceee135c1457c512e54de8c6f7219f8" "kind images" # By default, this script tests sidecars with the CSI hostpath driver, # using the install_csi_driver function. That function depends on @@ -292,7 +293,7 @@ tests_need_alpha_cluster () { tests_enabled "parallel-alpha" "serial-alpha" } -# Enabling mock tests adds the "CSI mock volume" tests from https://github.com/kubernetes/kubernetes/blob/master/test/e2e/storage/csi_mock_volume.go +# Enabling mock tests adds the "CSI mock volume" tests from https://github.com/kubernetes/kubernetes/blob/HEAD/test/e2e/storage/csi_mock_volume.go # to the e2e.test invocations (serial, parallel, and the corresponding alpha variants). # When testing canary images, those get used instead of the images specified # in the e2e.test's normal YAML files. @@ -795,7 +796,7 @@ install_snapshot_controller() { kind load docker-image --name csi-prow ${NEW_IMG} || die "could not load the snapshot-controller:csiprow image into the kind cluster" # deploy snapshot-controller - echo "Deploying snapshot-controller" + echo "Deploying snapshot-controller from ${SNAPSHOT_CONTROLLER_YAML} with $NEW_IMG." # Replace image in SNAPSHOT_CONTROLLER_YAML with snapshot-controller:csiprow and deploy # NOTE: This logic is similar to the logic here: # https://github.com/kubernetes-csi/csi-driver-host-path/blob/v1.4.0/deploy/util/deploy-hostpath.sh#L155 @@ -832,8 +833,19 @@ install_snapshot_controller() { echo "$modified" exit 1 fi - echo "kubectl apply -f ${SNAPSHOT_CONTROLLER_YAML}(modified)" done + elif [ "${CSI_PROW_DRIVER_CANARY}" = "canary" ]; then + echo "Deploying snapshot-controller from ${SNAPSHOT_CONTROLLER_YAML} with canary images." + yaml="$(kubectl apply --dry-run=client -o yaml -f "$SNAPSHOT_CONTROLLER_YAML")" + # Ignore: See if you can use ${variable//search/replace} instead. + # shellcheck disable=SC2001 + modified="$(echo "$yaml" | sed -e "s;image: .*/\([^/:]*\):.*;image: ${CSI_PROW_DRIVER_CANARY_REGISTRY}/\1:canary;")" + diff <(echo "$yaml") <(echo "$modified") + if ! echo "$modified" | kubectl apply -f -; then + echo "modified version of $SNAPSHOT_CONTROLLER_YAML:" + echo "$modified" + exit 1 + fi else echo "kubectl apply -f $SNAPSHOT_CONTROLLER_YAML" kubectl apply -f "$SNAPSHOT_CONTROLLER_YAML" From 0b3a10d234a86e0e1cc6f9b9c7d3bf5111967a64 Mon Sep 17 00:00:00 2001 From: "David L. Whitehurst" Date: Tue, 14 Sep 2021 16:52:45 -0400 Subject: [PATCH 5/5] cluster misspelled --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2cb48ae9..789384e88 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ of the development. The CSI NFS driver requires Kubernetes cluster of version 1.14 or newer and preexisting NFS server, whether it is deployed on cluster or provisioned independently. The plugin itself provides only a communication layer between -resources in the cluser and the NFS server. +resources in the cluster and the NFS server. ### Install driver on a Kubernetes cluster - install by [kubectl](./docs/install-csi-driver.md)