kubernetes-sigs / cluster-api

Home for Cluster API, a subproject of sig-cluster-lifecycle
https://cluster-api.sigs.k8s.io
Apache License 2.0
3.58k stars 1.32k forks source link

Tasks to bump to Kubernetes v1.29 #9578

Closed killianmuldoon closed 9 months ago

killianmuldoon commented 1 year ago

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.

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.

killianmuldoon commented 1 year ago

Created now mainly to keep track of https://github.com/kubernetes/enhancements/pull/4302

/triage accepted

chrischdi commented 11 months ago

/assign

furkatgofurov7 commented 11 months ago

@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?

chrischdi commented 11 months ago

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).

chrischdi commented 11 months ago

Also note:

All of these changes should be cherry-picked to all release series that will support the new Kubernetes version.

kashifest commented 11 months ago

@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 commented 11 months ago

@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.

chrischdi commented 11 months ago

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

chrischdi commented 11 months ago

Sumarizing the above open tasks:

Supporting managing and running on the new Kubernetes version

Using new Kubernetes dependencies

After release of v1.6.1 (and if v1.6.1 supports Kubernetes v1.29):

After release-28 kubekins image includes go 1.21:

kashifest commented 10 months ago

@chrischdi are waiting for controller-runtime and controller-tools release on this ?

sbueringer commented 10 months ago

Yes.

kashifest commented 10 months ago

Do we have any expected timeline ?

sbueringer commented 10 months ago

No

sbueringer commented 10 months ago

Do we have any expected timeline ?

@kashifest CR has been released and bump PR is now ready for review #9964

sbueringer commented 10 months ago

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)

sbueringer commented 10 months ago

@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?

chrischdi commented 9 months ago

Sounds good 👍

sbueringer commented 9 months ago

Moved to https://github.com/kubernetes-sigs/cluster-api/issues/10025

Otherwise we're done. Thx everyone :)

/close

k8s-ci-robot commented 9 months ago

@sbueringer: Closing this issue.

In response to [this](https://github.com/kubernetes-sigs/cluster-api/issues/9578#issuecomment-1900154187): >Moved to https://github.com/kubernetes-sigs/cluster-api/issues/10025 > >Otherwise we're done. Thx everyone :) > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.