-
Notifications
You must be signed in to change notification settings - Fork 623
🌱 Bump CAPI to v1.11 and k8s to v1.33 #5624
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
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
acc8cbd
to
0cad8e5
Compare
Attached the issue number to this. To ensure that this doesn't get merged too early before v2.9 is released. /hold |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An initial scan and main points are:
- we need to use v1beta2 version of upstream CAPI instead of v1beta1
- there are duplicate import statements
Some other places that will also need to be updated with this change:
- The e2e files. Like the following (but not limited to):
- https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/test/e2e/data/e2e_conf.yaml
- https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/test/e2e/data/e2e_eks_conf.yaml
- Test flavours to use v1beta2 of capi: https://github.com/kubernetes-sigs/cluster-api-provider-aws/tree/main/test/e2e/data/infrastructure-aws
- Some of the dot files like linter files: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/.golangci-kal.yml
- Cloud build files will need to updated to use a 1.24 image: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/cloudbuild.yaml
- Devbox config: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/devbox.json
- Templates need to be update to use v1beta2 for CAPI: https://github.com/kubernetes-sigs/cluster-api-provider-aws/tree/main/templates
- Maybe the version file: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/versions.mk
Also the following are useful:
make lint
make generate
make test
make managers
Ping me on slack or here if i can help in any way or if you have questions.
Thanks for taking on this 🎉
@@ -19,7 +19,7 @@ package v1beta1 | |||
import ( | |||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | |||
|
|||
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" | |||
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are also need to upgrade to v1beta2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be the same comment in a number of places so i won't repeat it for every instance.
@@ -52,8 +52,8 @@ import ( | |||
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/ec2" | |||
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/s3" | |||
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/logger" | |||
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" | |||
expclusterv1 "sigs.k8s.io/cluster-api/exp/api/v1beta1" | |||
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Duplicate import statements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a few instance of this in different files, won't call that out in each case.
Makefile
Outdated
@@ -20,7 +20,7 @@ include $(ROOT_DIR_RELATIVE)/common.mk | |||
# https://suva.sh/posts/well-documented-makefiles | |||
|
|||
# Go | |||
GO_VERSION ?=1.23.9 | |||
GO_VERSION ?=1.24.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use the latest go 1.24 in this line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I notice that CAPI has a separate line for the go
directive line, as seen here: https://github.com/kubernetes-sigs/cluster-api/blob/main/Makefile#L27
It might be worth adopting this. As I understand it, it's best practice to set your go
directive to 1..0, especially if you're used as a library.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's because they use it for verification reasons (see here)
They are still setting it manually in the go.mod, like we do https://github.com/kubernetes-sigs/cluster-api/blob/1d9f42a989db9c9d5da30633b68d520450bfa94e/go.mod#L3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That said it might be nice to add this verification, so that some other go.mod dependency change doesn't inadvertently bump it to a patch version, as we don't want that. And this would be caught early
@bryan-cox also on top of what @richardcase mentioned here, you can see #5447 for reference on more places to do bumps. Thanks 🎉 |
1677d99
to
6b0bab2
Compare
- Update core Kubernetes dependencies from v0.32.3 to v0.33.4: - k8s.io/api, k8s.io/apimachinery, k8s.io/client-go - k8s.io/apiserver, k8s.io/cli-runtime, k8s.io/kubectl - k8s.io/apiextensions-apiserver, k8s.io/component-base - Upgrade prometheus/client_golang from v1.19.1 to v1.22.0 - Update cel.dev/expr from v0.18.0 to v0.19.1 - Upgrade google/cel-go from v0.22.0 to v0.23.2 - Update golang.org/x/time from v0.8.0 to v0.9.0 - Upgrade gRPC from v1.67.3 to v1.68.1 - Update OpenTelemetry packages to v1.33.0 - Refresh k8s.io/utils and other indirect dependencies - Update kube-openapi and structured-merge-diff versions
- Upgrade cluster-api from v1.10.2 to v1.11.1 - Upgrade controller-runtime from v0.20.4 to v0.21.0 - Update various golang.org/x/* packages - Update testing dependencies (ginkgo, gomega) - Update OpenTelemetry and other indirect dependencies
6b0bab2
to
f96b7ac
Compare
@bryan-cox: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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-sigs/prow repository. I understand the commands that are listed here. |
What type of PR is this?
/kind support
What this PR does / why we need it:
This PR bumps CAPI to v1.11.0, and k8s to v1.33.3
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #5593
Special notes for your reviewer:
Checklist:
Release note: