Squashed 'release-tools/' changes from a1e11275..6616a6b5

https://github.com/kubernetes-csi/csi-release-tools/commit/6616a6b5 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/146 from pohly/kubernetes-1.21
https://github.com/kubernetes-csi/csi-release-tools/commit/510fb0f9 prow.sh: support Kubernetes 1.21
https://github.com/kubernetes-csi/csi-release-tools/commit/c63c61b3 prow.sh: add CSI_PROW_DEPLOYMENT_SUFFIX
https://github.com/kubernetes-csi/csi-release-tools/commit/51ac11c3 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/144 from pohly/pull-jobs
https://github.com/kubernetes-csi/csi-release-tools/commit/dd54c926 pull-test.sh: test importing csi-release-tools into other repo
https://github.com/kubernetes-csi/csi-release-tools/commit/7d2643a5 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/143 from pohly/path-setup
https://github.com/kubernetes-csi/csi-release-tools/commit/6880b0c8 prow.sh: avoid creating paths unless really running tests
https://github.com/kubernetes-csi/csi-release-tools/commit/bc0504ad Merge https://github.com/kubernetes-csi/csi-release-tools/pull/140 from jsafrane/remove-unused-k8s-libs
https://github.com/kubernetes-csi/csi-release-tools/commit/5b1de1ad go-get-kubernetes.sh: remove unused k8s libs
https://github.com/kubernetes-csi/csi-release-tools/commit/49b42693 Merge https://github.com/kubernetes-csi/csi-release-tools/pull/120 from pohly/add-kubernetes-release
https://github.com/kubernetes-csi/csi-release-tools/commit/f7e7ee49 docs: steps for adding testing against new Kubernetes release

git-subtree-dir: release-tools
git-subtree-split: 6616a6b5294b6df39cfce37f4fce7cdce0a77583
This commit is contained in:
Patrick Ohly
2021-05-05 14:47:41 +02:00
parent 6c3dece3f3
commit 4abab596c1
4 changed files with 113 additions and 18 deletions

View File

@@ -104,3 +104,47 @@ naming convention `<hostpath-deployment-version>-on-<kubernetes-version>`.
CSI hostpath driver with the new sidecars in the [CSI repo](https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy)
and [k/k
in-tree](https://github.com/kubernetes/kubernetes/tree/master/test/e2e/testing-manifests/storage-csi/hostpath/hostpath)
## Adding support for a new Kubernetes release
1. Add the new release to `k8s_versions` in
https://github.com/kubernetes/test-infra/blob/090dec5dd535d5f61b7ba52e671a810f5fc13dfd/config/jobs/kubernetes-csi/gen-jobs.sh#L25
to enable generating a job for it. Set `experimental_k8s_version`
in
https://github.com/kubernetes/test-infra/blob/090dec5dd535d5f61b7ba52e671a810f5fc13dfd/config/jobs/kubernetes-csi/gen-jobs.sh#L40
to ensure that the new jobs aren't run for PRs unless explicitly
requested. Generate and submit the new jobs.
1. Create a test PR to try out the new job in some repo with `/test
pull-kubernetes-csi-<repo>-<x.y>-on-kubernetes-<x.y>` where x.y
matches the Kubernetes release. Alternatively, run .prow.sh in that
repo locally with `CSI_PROW_KUBERNETES_VERSION=x.y.z`.
1. Optional: update to a [new
release](https://github.com/kubernetes-sigs/kind/tags) of kind with
pre-built images for the new Kubernetes release. This is optional
if the current version of kind is able to build images for the new
Kubernetes release. However, jobs require less resources when they
don't need to build those images from the Kubernetes source code.
This change needs to be tried out in a PR against a component
first, then get submitted against csi-release-tools.
1. Optional: propagate the updated csi-release-tools to all components
with the script from
https://github.com/kubernetes-csi/csi-release-tools/issues/7#issuecomment-707025402
1. Once it is likely to work in all components, unset
`experimental_k8s_version` and submit the updated jobs.
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)
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
isn't a separate deployment. This symlink is not needed for Prow
testing because that will use "kubernetes-latest" as fallback.
Update that link when creating a new deployment.
1. Create a new csi-driver-host-path release.
1. Bump `CSI_PROW_DRIVER_VERSION` in prow.sh to that new release and
(eventually) roll that change out to all repos by updating
`release-tools` in them. This is used when testing manually. The
Prow jobs override that value, so also update
`hostpath_driver_version` in
https://github.com/kubernetes/test-infra/blob/91b04e6af3a40a9bcff25aa030850a4721e2dd2b/config/jobs/kubernetes-csi/gen-jobs.sh#L46-L47