-
Notifications
You must be signed in to change notification settings - Fork 104
✨ Upgrade cluster-api to v1.11.0 #880
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?
✨ Upgrade cluster-api to v1.11.0 #880
Conversation
- Upgraded cluster-api dependencies from v1.10.4 to v1.11.0 - Migrated from cluster-api conditions helpers to k8s.io/apimachinery/pkg/api/meta - Updated condition handling to use meta.SetStatusCondition and meta.IsStatusConditionTrue - Fixed condition reason validation by removing spaces from error messages - Updated import paths from v1beta1 to v1beta2 where applicable - Updated test files to use new condition helper patterns - Resolved CRD validation issues and contract version compatibility - All unit tests now pass with the new cluster-api version
✅ Deploy Preview for kubernetes-sigs-cluster-api-operator ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
[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 |
Hi @PavanNeerudu. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
/ok-to-test |
- Remove unused clusterctlv1, configclient, and client imports - These imports became unused after updating deleteClusterAPICRDs function - Fixes compilation errors in E2E tests
- Exclude operator.cluster.x-k8s.io group from CRD cleanup - Prevents deletion of cluster-api-operator's own CRDs during E2E tests - Fixes 'no matches for kind CoreProvider' error in E2E tests - CRD cleanup now only removes cluster-api provider CRDs, not operator CRDs
/retest pull-cluster-api-operator-e2e-main |
@PavanNeerudu: The
The following commands are available to trigger optional jobs:
Use In response to this:
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. |
/test pull-cluster-api-operator-e2e-main |
- Add CoreProvider upgrade step before BootstrapProvider and ControlPlaneProvider upgrades - Required for contract version compatibility (v1beta1 -> v1beta2) - Fixes clusterctl error: 'could only upgrade to v1beta2 contract version, requested v1beta1' - Ensures all providers use consistent contract versions during upgrades
- Change patch := to patch = for second usage in same scope - Fixes compilation errors: 'no new variables on left side of :=' - Both BootstrapProvider and ControlPlaneProvider tests now compile correctly
- Add ipam.cluster.x-k8s.io to excluded groups in deleteClusterAPICRDs - IPAM provider CRDs are needed by cluster-api-operator itself - Prevents IPAM controller failures due to missing CRDs - Fixes 'no matches for kind InClusterIPPool/GlobalInClusterIPPool' errors - Now excludes both operator.cluster.x-k8s.io and ipam.cluster.x-k8s.io groups
Hi @furkatgofurov7 , could you review the PR. I was able to resolve the failures in the last iterations. There is however a pipeline failure(pull-cluster-api-operator-apidiff-main) which is expected because this PR brings in changes from cluster-api conditions to the kubernetes conditions. Since the project is on alpha, do you think we can bypass this failure or suggest what we can do here? Thanks! |
Hey @furkatgofurov7 , checking in for reviews on the PR. |
@PavanNeerudu thanks for the PR, I'll take a closer look soon, but meanwhile can you please take care of adding |
Yes, |
Done. Updated in the latest commits. |
@PavanNeerudu: The following test 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. |
@@ -569,7 +569,7 @@ func (p *PhaseReconciler) validateRepoCAPIVersion(ctx context.Context) error { | |||
return fmt.Errorf("invalid provider metadata: version %s for the provider %s does not match any release series", p.options.Version, name) | |||
} | |||
|
|||
if releaseSeries.Contract != "v1alpha4" && releaseSeries.Contract != "v1beta1" { | |||
if releaseSeries.Contract != "v1alpha4" && releaseSeries.Contract != "v1beta1" && releaseSeries.Contract != "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.
v1alpha4 has been deprecated and not served. Should we delete it?
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'm not sure. I let @furkatgofurov7 answer this
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.
@PavanNeerudu, it can be deleted in fact 👍🏼
✨ Upgrade cluster-api to v1.11.0
What this PR does / why we need it:
This PR upgrades the cluster-api dependencies from v1.10.4 to v1.11.0, which includes several breaking changes that required significant code updates:
sigs.k8s.io/cluster-api
to v1.11.0 and related dependenciesv1beta1
tov1beta2
where applicableThis upgrade ensures compatibility with the latest cluster-api release and maintains all existing functionality while adopting the standardized Kubernetes condition handling patterns.
Testing:
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: #854