Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tasks to bump to Kubernetes v1.27 #8459

Closed
12 tasks done
joekr opened this issue Apr 3, 2023 · 43 comments
Closed
12 tasks done

Tasks to bump to Kubernetes v1.27 #8459

joekr opened this issue Apr 3, 2023 · 43 comments
Assignees
Labels
triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@joekr
Copy link
Member

joekr commented Apr 3, 2023

This issue is tracking the tasks that should be implemented after the Kubernetes minor release has been released.

Tasks

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.
    • We will cherry-pick into release-v1.4. Which means v1.4.x and v1.5.0 will support v1.27.

Supporting managing and running on the new Kubernetes version (@furkatgofurov7)

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 (@Prajyot-Parab)

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.

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Apr 3, 2023
@killianmuldoon
Copy link
Contributor

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Apr 3, 2023
@furkatgofurov7
Copy link
Member

furkatgofurov7 commented Apr 3, 2023

I can take care of it, once v1.27 is out (which is scheduled on Tuesday 11th April 2023)

/assign

@killianmuldoon
Copy link
Contributor

IMO we shouldn't assign this issue as a whole - given there's a bunch of separate parts it might make it tougher to keep track of. @furkatgofurov7 - do you want to take the first section i.e. all points under Supporting managing and running on the new Kubernetes version which can be done on release?

@furkatgofurov7
Copy link
Member

@killianmuldoon thanks sure, I did not think of a possible complication, let's break it down then into parts and work on them separately.

@killianmuldoon
Copy link
Contributor

Thanks @furkatgofurov7! Just want to make sure we don't miss stuff as it comes up 🙂

@Prajyot-Parab
Copy link
Contributor

@joekr I can take care of, Using new Kubernetes dependencies section.

@furkatgofurov7
Copy link
Member

furkatgofurov7 commented Apr 6, 2023

@Prajyot-Parab hey, I am planning to work on the first section Supporting managing and running on the new Kubernetes version items, and you are welcome to pick the whole second section (Using new Kubernetes dependencies) you mentioned already.

@furkatgofurov7
Copy link
Member

/assign @Prajyot-Parab (for section 2)

@furkatgofurov7
Copy link
Member

FYI, kubernetes v1.27 is live now and we can start working on this issue.

@sbueringer
Copy link
Member

sbueringer commented Apr 12, 2023

Please (also) assign me for reviews of the PRs (on the PRs) outside of the core CAPI repository (probably only test-infra). I'll see the PRs in core CAPI anyway, but I would also like to review the ones in test-infra.

@sbueringer
Copy link
Member

sbueringer commented Apr 12, 2023

Ideally we have someone who ensures the umbrella issue (aka the top-level issue description) is always up-to-date, by linking the opened PRs and checking the completed tasks. (this also includes verifying that we cherry-pick everything into the appropriate branches)

Based on permissions this can only be done by either @joekr or one of the CAPI maintainers (because only they have write access to the issue description). I can help out there, except someone else wants to.

@sbueringer
Copy link
Member

sbueringer commented Apr 12, 2023

About the prereq:

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.

Based on our policy

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)

I think we should only cherry-pick into release-v1.4. Which means v1.4.x and v1.5.0 will support v1.27.

We should probably update the issue template to reflect the new policy. The current issue template was created before we established the policy

@joekr
Copy link
Member Author

joekr commented Apr 12, 2023

I'm going to slowly start moving these long running release tasks into a release project https://github.com/orgs/kubernetes-sigs/projects/37/views/1. This way we can hand over outstanding issues instead of creating a new tracking issue for each release. This will also allow folks to update tasks. Then once they are ready to work them or need to open a discussion we can convert to issues easier than a single issue owner.

@sbueringer
Copy link
Member

I'm not sure I understand, we have distinct tasks for each new Kubernetes bump. In which way are these tasks long running and have to be handed over?

@furkatgofurov7
Copy link
Member

I'm not sure I understand, we have distinct tasks for each new Kubernetes bump. In which way are these tasks long running and have to be handed over?

Agree, most probably the comment more relevant to the tracking issue where we have improvement tasks but not this one.

@furkatgofurov7
Copy link
Member

furkatgofurov7 commented Apr 13, 2023

Please (also) assign me for reviews of the PRs (on the PRs) outside of the core CAPI repository (probably only test-infra). I'll see the PRs in core CAPI anyway, but I would also like to review the ones in test-infra.

@sbueringer PTAL at kubernetes/test-infra#29295 and other CAPI PRs' linked here whenever you have some spare time, thanks!

@sbueringer
Copy link
Member

I would definitely like to not lose the clarity and traceability (also going forward) that this umbrella issue provides.

@sbueringer
Copy link
Member

Please (also) assign me for reviews of the PRs (on the PRs) outside of the core CAPI repository (probably only test-infra). I'll see the PRs in core CAPI anyway, but I would also like to review the ones in test-infra.

@sbueringer PTAL at kubernetes/test-infra#29295 whenever you have some spare time, thanks!

Thx for the ping, on my list!

@sbueringer
Copy link
Member

@Prajyot-Parab If it's okay for you I would like to continue the work on "Bump controller-runtime" that I started a while back here: #8007

@Prajyot-Parab
Copy link
Contributor

@Prajyot-Parab If it's okay for you I would like to continue the work on "Bump controller-runtime" that I started a while back here: #8007

Sure np!

@Prajyot-Parab
Copy link
Contributor

FYI there is already a PR to upgrade k8s to v0.27 in kubernetes-sigs/controller-runtime - kubernetes-sigs/controller-runtime#2189 (@joekr we will have a minor release post merge of this one for controller-runtime or do we need to discuss/take care of that ourselves?)

@sbueringer
Copy link
Member

sbueringer commented Apr 13, 2023

I think we're mixing up a few things.

  • "Supporting managing and running on the new Kubernetes version" the task that Furkat is working on provides support for 1.27
    • This work is making good progress and we can see if it makes it in time for v1.4.2
    • It's 100% independent of anything in "Using new Kubernetes dependencies"
  • "Using new Kubernetes dependencies" that Prajyot is working on depends (in part) on the controller-runtime release which isn't out yet
    • ~ all of this will only be done on main and not cherry-pick into 1.4 at all

(This is mostly an answer to Joe's and Killian's comments)

@Prajyot-Parab We don't have to ensure there will be a new CR release after the client-go bump in controller-runtime. I and the other CR maintainers are on it and the current estimation is that there will be a CR release (including client-go v0.27) the week after KubeCon.

Hope this helps :)

@Prajyot-Parab
Copy link
Contributor

presubmit jobs - kubernetes/test-infra#29313
periodic jobs - kubernetes/test-infra#29314

@furkatgofurov7
Copy link
Member

furkatgofurov7 commented Apr 17, 2023

Ideally we have someone who ensures the umbrella issue (aka the top-level issue description) is always up-to-date, by linking the opened PRs and checking the completed tasks. (this also includes verifying that we cherry-pick everything into the appropriate branches)

Alright, @sbueringer @joekr folks here is a notes with list of PRs' we need to update with in the umbrella issue description and I need your help with and hope makes it easy also for you to track:

@joekr
Copy link
Member Author

joekr commented Apr 18, 2023

WOW! @furkatgofurov7 this is amazing! Thank you so much for driving these to completion.

@odvarkadaniel
Copy link
Contributor

Hey folks, I am working on bumping openshift/machine-api-operator to 1.27, but we are dependant on cluster-api, so I am blocked. Is a bump to 1.27 for capi already scheduled? I don't see it in this issue - shall I create a new issue for that?
Thanks! :-)

@killianmuldoon
Copy link
Contributor

@odvarkadaniel CAPI currently supports workload clusters on v1.27, but the underlying Kubernetes libraries have not been bumped yet. We'll do that once controller runtime releases a version that uses the underlying Kubernetes libraries as stated in the checklist in this issue under Using new Kubernetes dependencies.

Is this the update that's blocking you?

@odvarkadaniel
Copy link
Contributor

Thanks for pointing me to the right item in the list, @killianmuldoon.
Yes, I am talking about the controller-runtime update and the other underlying k8s packages in go.mod that CAPI is using.

@sbueringer
Copy link
Member

sbueringer commented Apr 25, 2023

This is stuck ~ here: (basically it depends on Kubernetes 1.27.2 in ~ mid May)

@sbueringer
Copy link
Member

sbueringer commented Apr 25, 2023

Just fyi, there is nothing to do regarding: "issues specific to the Kubernetes minor release"

We didn't get notified about anything and CI is green. So this sub-task is also completed

@sbueringer
Copy link
Member

sbueringer commented Apr 25, 2023

@Prajyot-Parab

Probably tracked somewhere else but "Bump the Go version in Cluster API: (if Kubernetes is using a new Go minor version)" is not completed yet.

After we got the new image for cloudbuild (kubernetes/test-infra#29357) we have to bump the image in our cloud build YAMLs in CAPI to v20230424-910a2a439d

General comment. The second section can be also completed afaik apart from the controller-runtime / controller-tools tasks, but we don't have to wait for them

@Prajyot-Parab
Copy link
Contributor

@Prajyot-Parab

Probably tracked somewhere else but "Bump the Go version in Cluster API: (if Kubernetes is using a new Go minor version)" is not completed yet.

After we got the new image for cloudbuild (kubernetes/test-infra#29357) we have to bump the image in our cloud build YAMLs in CAPI to v20230424-910a2a439d

General comment. The second section can be also completed afaik apart from the controller-runtime / controller-tools tasks, but we don't have to wait for them

@sbueringer
Copy link
Member

@Prajyot-Parab do you have time to open a PR to bump KUBEBUILDER_ENVTEST_KUBERNETES_VERSION?

@Prajyot-Parab
Copy link
Contributor

@Prajyot-Parab do you have time to open a PR to bump KUBEBUILDER_ENVTEST_KUBERNETES_VERSION?

sure!

@Prajyot-Parab
Copy link
Contributor

@Prajyot-Parab do you have time to open a PR to bump KUBEBUILDER_ENVTEST_KUBERNETES_VERSION?

Do we need to cherry pick this one as mentioned in the description, If yes then in which release branches?

@joekr
Copy link
Member Author

joekr commented May 3, 2023

I believe all that work will be done in main only as we aren't making controller-runtime changes to other branches that I'm aware of.

I can update the description and remove that. If we need to cherry pick it we can do that later with a command on the PR later.

UPDATE: I said just below we can cherry pick on the PR when done.

@sbueringer
Copy link
Member

Note: This PR should be cherry-picked as well. It is part of this section as it depends on kubebuilder/controller-runtime
releases and is not strictly necessary for Supporting managing and running on the new Kubernetes version.

It should be cherrypicked into 1.4. The idea is to run our tests against the newest kubernetes version that we support

@sbueringer
Copy link
Member

Thx everyone. This is now comlpeted as we merged the CR bump.

/close
🎉

@k8s-ci-robot
Copy link
Contributor

@sbueringer: Closing this issue.

In response to this:

Thx everyone. This is now comlpeted as we merged the CR bump.

/close
🎉

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

7 participants