@@ -104,3 +104,47 @@ naming convention `<hostpath-deployment-version>-on-<kubernetes-version>`.
104104 CSI hostpath driver with the new sidecars in the [ CSI repo] ( https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy )
105105 and [ k/k
106106 in-tree] ( https://github.com/kubernetes/kubernetes/tree/master/test/e2e/testing-manifests/storage-csi/hostpath/hostpath )
107+
108+ ## Adding support for a new Kubernetes release
109+
110+ 1 . Add the new release to ` k8s_versions ` in
111+ https://github.com/kubernetes/test-infra/blob/090dec5dd535d5f61b7ba52e671a810f5fc13dfd/config/jobs/kubernetes-csi/gen-jobs.sh#L25
112+ to enable generating a job for it. Set ` experimental_k8s_version `
113+ in
114+ https://github.com/kubernetes/test-infra/blob/090dec5dd535d5f61b7ba52e671a810f5fc13dfd/config/jobs/kubernetes-csi/gen-jobs.sh#L40
115+ to ensure that the new jobs aren't run for PRs unless explicitly
116+ requested. Generate and submit the new jobs.
117+ 1 . Create a test PR to try out the new job in some repo with `/test
118+ pull-kubernetes-csi-<repo >-<x.y>-on-kubernetes-<x.y>` where x.y
119+ matches the Kubernetes release. Alternatively, run .prow.sh in that
120+ repo locally with ` CSI_PROW_KUBERNETES_VERSION=x.y.z ` .
121+ 1 . Optional: update to a [ new
122+ release] ( https://github.com/kubernetes-sigs/kind/tags ) of kind with
123+ pre-built images for the new Kubernetes release. This is optional
124+ if the current version of kind is able to build images for the new
125+ Kubernetes release. However, jobs require less resources when they
126+ don't need to build those images from the Kubernetes source code.
127+ This change needs to be tried out in a PR against a component
128+ first, then get submitted against csi-release-tools.
129+ 1 . Optional: propagate the updated csi-release-tools to all components
130+ with the script from
131+ https://github.com/kubernetes-csi/csi-release-tools/issues/7#issuecomment-707025402
132+ 1 . Once it is likely to work in all components, unset
133+ ` experimental_k8s_version ` and submit the updated jobs.
134+ 1 . Once all sidecars for the new Kubernetes release are released,
135+ either bump the version number of the images in the existing
136+ [ csi-driver-host-path
137+ deployments] ( https://github.com/kubernetes-csi/csi-driver-host-path/tree/master/deploy )
138+ and/or create a new deployment, depending on what Kubernetes
139+ release an updated sidecar is compatible with. If no new deployment
140+ is needed, then add a symlink to document that there intentionally
141+ isn't a separate deployment. This symlink is not needed for Prow
142+ testing because that will use "kubernetes-latest" as fallback.
143+ Update that link when creating a new deployment.
144+ 1 . Create a new csi-driver-host-path release.
145+ 1 . Bump ` CSI_PROW_DRIVER_VERSION ` in prow.sh to that new release and
146+ (eventually) roll that change out to all repos by updating
147+ ` release-tools ` in them. This is used when testing manually. The
148+ Prow jobs override that value, so also update
149+ ` hostpath_driver_version ` in
150+ https://github.com/kubernetes/test-infra/blob/91b04e6af3a40a9bcff25aa030850a4721e2dd2b/config/jobs/kubernetes-csi/gen-jobs.sh#L46-L47
0 commit comments