Closed killianmuldoon closed 9 months ago
Created now mainly to keep track of https://github.com/kubernetes/enhancements/pull/4302
/triage accepted
/assign
@chrischdi Hey, one question: am I correct to assume that once this is completed, we will be supporting k8s 1.29 in the release-1.6 branch, i.e starting from v1.6.x, although there is a note in the book:
When a new Kubernetes minor release is available, we will try to support it in an upcoming Cluster API patch release (although only in the latest supported Cluster API minor release). But this depends on the changes made in Kubernetes, if the corresponding required changes in Cluster API are too invasive we won’t backport the support and users have to wait for the next Cluster API minor release.
meaning it might not be the case always?
Yes it is. With this issue we should also add the necessary jobs for the v1.6 release to get test coverage.
Especially via this part:
- For the release branch of the latest supported Cluster API minor release:
- periodics & presubmits:
- Adust the
-latest
upgrade jobs to upgrade to the new Kubernetes version instead of latest.
If any fixes are required they should get cherry-picked and released with the next round of patch releases (although normally there is no fix necessary).
Also note:
All of these changes should be cherry-picked to all release series that will support the new Kubernetes version.
@chrischdi is there any timeline for the support for k8s v1.29 in CAPI, I think k8s v1.29 lands tomorrow, so can we expect the support in CAPI branches before the xmas or after? And also if theres any other blocker for example controller-runtime release? Meanwhile if any support is needed for the subtasks listed here in the issue, we can help.
@chrischdi is there any timeline for the support for k8s v1.29 in CAPI, I think k8s v1.29 lands tomorrow, so can we expect the support in CAPI branches before the xmas or after? And also if theres any other blocker for example controller-runtime release? Meanwhile if any support is needed for the subtasks listed here in the issue, we can help.
I want this to land (if possible) before xmas, however a supporting release will be v1.6.1 which is planned for January afaik.
Prerequisites:
- [ ] Decide which Cluster API release series will support the new Kubernetes version
- If feasible we usually cherry-pick the changes back to the latest release series.
All work will be cherry-picked to release-1.6 so hopefully the upcoming release v1.6.1 will be the first one officially supporting Kubernetes v1.29
Sumarizing the above open tasks:
[x] (@chrischdi) Modify quickstart and CAPD to use the new Kubernetes release:
[x] (@chrischdi) Ensure the jobs are adjusted to provide test coverage according to our support policy:
[x] (@chrischdi) Update book:
[x] Issues specific to the Kubernetes minor release:
After release of v1.6.1 (and if v1.6.1 supports Kubernetes v1.29
):
WorkloadKubernetesVersion
for test When testing clusterctl upgrades using ClusterClass (v1.6=>current) [ClusterClass]
After release-28 kubekins image includes go 1.21:
@chrischdi are waiting for controller-runtime and controller-tools release on this ?
Yes.
Do we have any expected timeline ?
No
Do we have any expected timeline ?
@kashifest CR has been released and bump PR is now ready for review #9964
Looks like we didn't add 1.29 to versions.md on release-1.6 yet (probably intentional).
We should make sure versions.md is updated once https://github.com/kubernetes-sigs/cluster-api/pull/9971 merges on main
(added a sub-task)
@chrischdi I think now we only have one sub-task for docs and "Bump golang on release-1.6 and release-1.5 branches"
I would move the latter to a separate issue so we can close the current one, WDYT?
Sounds good 👍
Moved to https://github.com/kubernetes-sigs/cluster-api/issues/10025
Otherwise we're done. Thx everyone :)
/close
@sbueringer: Closing this issue.
This issue is tracking the tasks that should be implemented after the Kubernetes minor release has been released.
Tasks
Prerequisites:
Supporting managing and running on the new Kubernetes version
This section contains tasks to update our book, e2e testing and CI to use and test the new Kubernetes version as well as changes to Cluster API that we might have to make to support the new Kubernetes version. All of these changes should be cherry-picked to all release series that will support the new Kubernetes version.
test/*
: search for occurrences of the previous Kubernetes versionTiltfile
InitWithKubernetesVersion
andWorkloadKubernetesVersion
inclusterctl_upgrade_test.go
KUBERNETES_VERSION_MANAGEMENT
of thee2e-mink8s
job to the new minimum supported management cluster version.KUBEBUILDER_ENVTEST_KUBERNETES_VERSION
of thetest-mink8s
jobs to the new minimum supported management cluster version.-latest
upgrade job to upgrade from the new Kubernetes to the next Kubernetes version.-latest
upgrade jobs to upgrade to the new Kubernetes version instead of latest.ETCD_VERSION_UPGRADE_TO
orCOREDNS_VERSION_UPGRADE_TO
needs to change for the upgrades jobs to the new or next Kubernetes version.DefaultEtcdVersion
kubeadm constant: e.g. for v1.28.0CoreDNSVersion
kubeadm constant:e.g. for v1.28.0versions.md
jobs.md
Using new Kubernetes dependencies
This section contains tasks to update Cluster API to use the latest Kubernetes Go dependencies and related topics like using the right Go version and build images. These changes are only made on the main branch. We don't need them in older releases as they are not necessary to manage workload clusters of the new Kubernetes version or run the Cluster API controllers on the new Kubernetes version.
[x] Ensure there is a new controller-runtime minor release which uses the new Kubernetes Go dependencies.
[x] Update our Prow jobs for the
main
branch to use the correctkubekins-e2e
image[x] Bump the Go version in Cluster API: (if Kubernetes is using a new Go minor version)
hack/ensure-go.sh
,.golangci.yml
,cloudbuild*.yaml
,go.mod
,Makefile
,netlify.toml
,Tiltfile
[x] Bump controller-runtime #9964
[x] Bump controller-tools #9987
[x] Bump the Kubernetes version used in integration tests via
KUBEBUILDER_ENVTEST_KUBERNETES_VERSION
inMakefile
[x] Bump conversion-gen via
CONVERSION_GEN_VER
inMakefile
[x] ensure versions.md on main & release-1.6 is up-to-date after https://github.com/kubernetes-sigs/cluster-api/pull/9971