Skip to content

Commit 49b4269

Browse files
authored
Merge pull request #120 from pohly/add-kubernetes-release
docs: steps for adding testing against new Kubernetes release
2 parents a1e1127 + f7e7ee4 commit 49b4269

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

SIDECAR_RELEASE_PROCESS.md

+44
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)