Skip to content

🌱 Bump CAPI to v1.12.2, k8s to v1.34 and controller-runtime to v0.22.5#5857

Merged
kubernetes-prow[bot] merged 31 commits into
kubernetes-sigs:mainfrom
clebs:capi-1.12-bump
Jun 26, 2026
Merged

🌱 Bump CAPI to v1.12.2, k8s to v1.34 and controller-runtime to v0.22.5#5857
kubernetes-prow[bot] merged 31 commits into
kubernetes-sigs:mainfrom
clebs:capi-1.12-bump

Conversation

@clebs

@clebs clebs commented Feb 3, 2026

Copy link
Copy Markdown
Member

What type of PR is this?
/kind support

What this PR does / why we need it:
This PR bumps CAPI to v1.12.2 and with it, k8s to v1.34.3 and controller-runtime to v0.22.5.
Needed to be up to date with CAPI releases.

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 #5834

Special notes for your reviewer:
None

TODO
This bump is affected by the following issues which needs to be addressed before we can successfully see this bump passing regular e2es:

Checklist:

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

Release note:

Bump CAPI to v1.12.2, k8s to v1.34 and controller-runtime to v0.22.5

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/support Categorizes issue or PR as a support question. needs-priority cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Feb 3, 2026
@k8s-ci-robot

Copy link
Copy Markdown
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 justinsb for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details 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 the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Feb 3, 2026

@richardcase richardcase left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@clebs - we'll also need to update the CAPI version in other places like the e2e config files. Like this: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/test/e2e/data/e2e_conf.yaml#L30

@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Feb 4, 2026
@clebs

clebs commented Feb 4, 2026

Copy link
Copy Markdown
Member Author

/ok-to-test

@k8s-ci-robot k8s-ci-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Feb 4, 2026
@clebs

clebs commented Feb 4, 2026

Copy link
Copy Markdown
Member Author

@clebs - we'll also need to update the CAPI version in other places like the e2e config files. Like this: https://github.com/kubernetes-sigs/cluster-api-provider-aws/blob/main/test/e2e/data/e2e_conf.yaml#L30

@richardcase I have updated CAPI and k8s versions based on previous bump PRs:

  • Updated e2e test CAPI version and upgrade from/to k8s versions.
  • Updated envtest to be in sync with controller-runtime.

PTAL!

@clebs clebs force-pushed the capi-1.12-bump branch 2 times, most recently from b6a0781 to b06184d Compare February 4, 2026 20:42
@clebs

clebs commented Feb 5, 2026

Copy link
Copy Markdown
Member Author

/retest

1 similar comment
@clebs

clebs commented Feb 5, 2026

Copy link
Copy Markdown
Member Author

/retest

@clebs clebs mentioned this pull request Feb 10, 2026
5 tasks
@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. do-not-merge/contains-merge-commits and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Mar 2, 2026
@damdo

damdo commented Mar 6, 2026

Copy link
Copy Markdown
Member

/test pull-cluster-api-provider-aws-e2e-blocking

@clebs

clebs commented Mar 8, 2026

Copy link
Copy Markdown
Member Author

/test pull-cluster-api-provider-aws-e2e-blocking

@damdo

damdo commented Mar 8, 2026

Copy link
Copy Markdown
Member

Hey @clebs we'll need #5869 in first I think, before seeing pull-cluster-api-provider-aws-e2e-blocking hopefully go green

@damdo

damdo commented Mar 9, 2026

Copy link
Copy Markdown
Member

@clebs this will need rebasing, then we can retest and see

damdo and others added 11 commits June 26, 2026 09:35
In CAPI v1.12 (v1beta2), the Cluster topology field changed from
`spec.topology.class` (string) to `spec.topology.classRef.name`, and
ClusterClass template references changed from `ref` (with apiVersion,
kind, name) to `templateRef` (with kind, name only).

Update all ClusterClass kustomize source templates to match the v1beta2
schema.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
In v1beta2, MachineDeploymentClass has bootstrap and infrastructure
directly under the class entry, without the intermediate template
wrapper that existed in v1beta1.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
The v1beta2 ClusterClassTemplateReference requires apiVersion in
addition to kind and name.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
Kubernetes v1.34.8 includes a kubeadm change (kubernetes/kubernetes#138957)
that removes the kubeadm:apiserver-kubelet-client ClusterRoleBinding on
join. Without the matching CAPI fix (cluster-api#13664, backported in
v1.12.8), the KCP controller gets Forbidden when proxying to etcd
through the API server, blocking the pre-terminate kcp-cleanup hook
indefinitely during rolling upgrades.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
The Flatcar stable AMI has a 15 GB root snapshot, which is larger than
the 10 GB rootVolume size inherited from the default template. This
causes EC2 instance creation to fail with "root volume size (10) must
be greater than or equal to snapshot size (15)".

Bump rootVolume to 16 GB in the ignition control-plane and worker AMI
patches.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
…overlays

The external-vpc-clusterclass and self-hosted-clusterclass kustomize
overlays target cluster.x-k8s.io/v1beta1 for their JSON patches, but
the Cluster template was bumped to v1beta2. This caused the patches
to silently not apply, so variables like vpcID and selfHosted were
missing from the generated templates.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
Kubernetes v1.34.2 introduced a kubeadm change (kubernetes/kubeadm#3294)
that removed the implicit load balancer health gate from the
wait-control-plane phase. This causes intermittent kubeadm join
failures when the control plane endpoint is not yet fully converged.

A fix has been merged upstream (kubernetes/kubernetes#139667) and will
be included in v1.34.9. Until that release is available, temporarily
pin workload clusters to v1.34.1 (pre-regression, with a published
AMI) to unblock the CAPI v1.12 bump. The management cluster and EKS
e2e configs are not affected.
… regression

Kubernetes v1.34.x has a kubeadm bug (kubernetes/kubernetes#139667)
where GetConfigMapWithShortRetry's 350ms polling budget is bypassed
by a 10s http.Client.Timeout, causing intermittent worker join
failures when the NLB has not fully converged. The fix is merged
upstream but not yet released.

Switch workload clusters to v1.33.4 (pre-regression) to unblock the
CAPI v1.12 bump. Update etcd and coredns upgrade versions to match.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
The eks-nodeadm-clusterclass template and test were removed in
551148e but references remained in e2e_eks_conf.yaml and
helpers.go, causing the EKS e2e suite to fail in BeforeSuite.

Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
Signed-off-by: Borja Clemente <borja.clemente@gmail.com>
@clebs

clebs commented Jun 26, 2026

Copy link
Copy Markdown
Member Author

/test pull-cluster-api-provider-aws-e2e-blocking pull-cluster-api-provider-aws-e2e pull-cluster-api-provider-aws-e2e-eks

@damdo

damdo commented Jun 26, 2026

Copy link
Copy Markdown
Member

/test pull-cluster-api-provider-aws-e2e-eks

Same unrelated flake from before, we can fix this in a follow up


// DNSResolutionCheck configures the behavior for checking the load balancer DNS resolution.
// Set to "None" to disable the check.
// If omitted, the provider will pick a reasonable default which may change over time.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not sure can or should say that we will change the default behaviour.

@damdo

damdo commented Jun 26, 2026

Copy link
Copy Markdown
Member

/test pull-cluster-api-provider-aws-e2e-eks

1 similar comment
@damdo

damdo commented Jun 26, 2026

Copy link
Copy Markdown
Member

/test pull-cluster-api-provider-aws-e2e-eks

@damdo

damdo commented Jun 26, 2026

Copy link
Copy Markdown
Member

/lgtm

🎉

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 26, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

LGTM label has been added.

DetailsGit tree hash: 3547b546020f4afb6f9c7d00844fbbd28b448cd3

@damdo

damdo commented Jun 26, 2026

Copy link
Copy Markdown
Member

/unhold

@kubernetes-prow kubernetes-prow Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 26, 2026
@kubernetes-prow kubernetes-prow Bot merged commit 6af87d2 into kubernetes-sigs:main Jun 26, 2026
19 checks passed
@clebs clebs deleted the capi-1.12-bump branch June 26, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/support Categorizes issue or PR as a support question. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority ok-to-test Indicates a non-member PR verified by an org member that is safe to test. 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.

Upgrade Cluster API to v1.12.x

7 participants