Skip to content
New issue

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

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

Already on GitHub? # to your account

🌱 Bump CAPI to v1.9.z #5209

Merged
merged 3 commits into from
Feb 28, 2025
Merged

🌱 Bump CAPI to v1.9.z #5209

merged 3 commits into from
Feb 28, 2025

Conversation

damdo
Copy link
Member

@damdo damdo commented Nov 6, 2024

What type of PR is this?
/kind support

What this PR does / why we need it:
CAPI v1.9.z is out now, so this PRs bumps the CAPI version used by CAPA with the new released one.

Bumps CAPI to v1.9.x based on https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/book/src/developer/providers/migrations/v1.8-to-v1.9.md

action required
Bump CAPI to v1.9.z
!! ACTION REQUIRED BEFORE UPGRADING !!
If you are using the AWSManagedControlPlane to provision EKS clusters and you do not have a spec.Version specified in such resource (meaning you are relying on the default that AWS provides), you will need to either:
a) explicitly set such `spec.Version` field before upgrading CAPA
or b) disable the MachineSetPreflightChecks in your cluster either:
b1) by setting this core CAPI feature gate to `false`
b2) or by disabling it via the relevant annotation on all the machineSets belonging to said cluster (follow this guide on how to do this: https://cluster-api.sigs.k8s.io/tasks/experimental-features/machineset-preflight-checks).
This is necessary as core CAPI 1.9 introduces a feature gate change, setting MachineSetPreflightChecks=true, which in turn relies on the presence of spec.Version and status.Version on the AWSManagedControlPlane object.
We are planning a future refactor of these API fields in v1beta3 (https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/3853).
Other places where you can find details on this are:
- https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5225
- https://github.com/kubernetes-sigs/cluster-api/issues/11117
- https://kubernetes.slack.com/archives/CD6U2V71N/p1739783013734149

Fixes #5335

@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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 6, 2024
@k8s-ci-robot k8s-ci-robot requested review from AndiDog and faiq November 6, 2024 10:44
@k8s-ci-robot k8s-ci-robot added needs-priority size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Nov 6, 2024
@damdo
Copy link
Member Author

damdo commented Nov 6, 2024

/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 Nov 6, 2024
@damdo damdo changed the title 🌱 Bump CAPI to v1.9.z 🌱 WIP: Bump CAPI to v1.9.z Nov 6, 2024
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 2, 2024
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 27, 2025
@damdo
Copy link
Member Author

damdo commented Jan 27, 2025

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

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 29, 2025
@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jan 29, 2025
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 30, 2025
@damdo
Copy link
Member Author

damdo commented Jan 30, 2025

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

@damdo
Copy link
Member Author

damdo commented Jan 30, 2025

/retest

@damdo
Copy link
Member Author

damdo commented Jan 31, 2025

We are hitting #5139 with this, as we are now using the 1.30+ k8s version in testing.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 5, 2025
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 7, 2025
@damdo
Copy link
Member Author

damdo commented Feb 19, 2025

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

@damdo
Copy link
Member Author

damdo commented Feb 20, 2025

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 20, 2025
@damdo damdo requested a review from richardcase February 21, 2025 13:04
@k8s-ci-robot k8s-ci-robot added release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Feb 24, 2025
@richardcase
Copy link
Member

@damdo - would you be able to squash your commits?

@damdo
Copy link
Member Author

damdo commented Feb 24, 2025

@richardcase done, I left the 3 most relevant atomic commits there. Squashed the rest.

@damdo
Copy link
Member Author

damdo commented Feb 26, 2025

Also

/assign @nrb

@nrb
Copy link
Contributor

nrb commented Feb 26, 2025

@damdo The top line of the description says this is blocked by an open issue - is that still true?

@damdo
Copy link
Member Author

damdo commented Feb 26, 2025

@nrb not anymore as we moved to use NLBs in testing

@nrb
Copy link
Contributor

nrb commented Feb 26, 2025

/approve

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 26, 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.

Looks great @damdo .

Just 1 nit, normally i would say to ignore it but as it will be in the CRD it might be worth correcting. wdyt?

…ion for CAPI's MachineSetPreflightCheck

In the latest version, CAPI has turned on by default the MachineSetPreflightCheck feature,
which now enforces the managed ControPlane object spec and status to have a new Version field (more details on the API change https://cluster-api.sigs.k8s.io/developer/providers/contracts/control-plane#controlplane-version).

See: kubernetes-sigs#5225

Also more conversation details with the core CAPI maintainers: https://kubernetes.slack.com/archives/CD6U2V71N/p1739783013734149
@nrb
Copy link
Contributor

nrb commented Feb 28, 2025

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: nrb

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

The pull request process is described 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

@richardcase
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 28, 2025
@k8s-ci-robot k8s-ci-robot merged commit 79faf4c into kubernetes-sigs:main Feb 28, 2025
15 of 16 checks passed
# for free to join this conversation on GitHub. Already have an account? # 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 release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. 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.

Not supporting Kubernetes 1.31 onwards
5 participants