Skip to content

Conversation

bryan-cox
Copy link
Contributor

@bryan-cox bryan-cox commented Aug 20, 2025

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:

  • squashed commits
  • includes documentation
  • includes emoji in title
  • adds unit tests
  • adds or updates e2e tests

Release note:

Bump CAPI to v1.11 and k8s to v1.33

@k8s-ci-robot k8s-ci-robot added the do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. label Aug 20, 2025
@k8s-ci-robot k8s-ci-robot requested review from faiq and serngawy August 20, 2025 15:17
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign neolit123 for approval. For more information see the Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added needs-priority cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Aug 20, 2025
@bryan-cox bryan-cox changed the title Bump-k8s-deps support: Bump Go to v1.24.0 and k8s to v1.33.3 Aug 20, 2025
@bryan-cox bryan-cox changed the title support: Bump Go to v1.24.0 and k8s to v1.33.3 🌱 Bump Go to v1.24.0 and k8s to v1.33.3 Aug 20, 2025
@bryan-cox bryan-cox force-pushed the bump-k8s-deps branch 2 times, most recently from acc8cbd to 0cad8e5 Compare August 20, 2025 18:42
@richardcase
Copy link
Member

Attached the issue number to this.

To ensure that this doesn't get merged too early before v2.9 is released.

/hold

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 21, 2025
Copy link
Member

@richardcase richardcase left a 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:

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"
Copy link
Member

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.

Copy link
Member

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"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate import statements.

Copy link
Member

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.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 26, 2025
@damdo damdo changed the title 🌱 Bump Go to v1.24.0 and k8s to v1.33.3 🌱 Bump CAPI to v1.11, Go to v1.24 and k8s to v1.33 Aug 26, 2025
@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Aug 26, 2025
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
Copy link
Member

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

Copy link
Contributor

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.

Copy link
Member

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

Copy link
Member

@damdo damdo Sep 4, 2025

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

@damdo
Copy link
Member

damdo commented Aug 26, 2025

@bryan-cox also on top of what @richardcase mentioned here, you can see #5447 for reference on more places to do bumps. Thanks 🎉

- 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
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 5, 2025
@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Sep 5, 2025
@bryan-cox bryan-cox changed the title 🌱 Bump CAPI to v1.11, Go to v1.24 and k8s to v1.33 🌱 Bump CAPI to v1.11 and k8s to v1.33 Sep 5, 2025
@k8s-ci-robot
Copy link
Contributor

@bryan-cox: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-cluster-api-provider-aws-build f96b7ac link true /test pull-cluster-api-provider-aws-build
pull-cluster-api-provider-aws-verify f96b7ac link true /test pull-cluster-api-provider-aws-verify
pull-cluster-api-provider-aws-e2e-blocking f96b7ac link true /test pull-cluster-api-provider-aws-e2e-blocking
pull-cluster-api-provider-aws-build-docker f96b7ac link true /test pull-cluster-api-provider-aws-build-docker
pull-cluster-api-provider-aws-test f96b7ac link true /test pull-cluster-api-provider-aws-test

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. needs-priority release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CAPI v1.11.0 has been released and is ready for testing
5 participants