Skip to content

Bump CAPI to v1.10.2 #1459

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

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

Bump CAPI to v1.10.2 #1459

wants to merge 11 commits into from

Conversation

tamalsaha
Copy link

@tamalsaha tamalsaha commented Mar 26, 2025

What type of PR is this?

What this PR does / why we need it:
I fixed the validator and defaulter interface broken by controller-runtime.

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 #

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

TODOs:

  • squashed commits
  • includes documentation
  • adds unit tests

Release note:

NONE

Copy link

netlify bot commented Mar 26, 2025

Deploy Preview for kubernetes-sigs-cluster-api-gcp failed. Why did it fail? →

Name Link
🔨 Latest commit 3691997
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-sigs-cluster-api-gcp/deploys/682cf424195f0a0008e6320c

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. 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 Mar 26, 2025
@k8s-ci-robot
Copy link
Contributor

Welcome @tamalsaha!

It looks like this is your first PR to kubernetes-sigs/cluster-api-provider-gcp 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/cluster-api-provider-gcp has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Mar 26, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @tamalsaha. 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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

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.

@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Mar 26, 2025
@richardcase
Copy link
Member

@tamalsaha - please can you remove the vendor folder from this PR.

@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 27, 2025
@tamalsaha
Copy link
Author

Removed vendor folder @richardcase . PTAL.

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. 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 Mar 27, 2025
@@ -33,36 +35,44 @@ var clusterlog = logf.Log.WithName("gcpcluster-resource")

// SetupWebhookWithManager sets up and registers the webhook with the manager.
func (c *GCPCluster) SetupWebhookWithManager(mgr ctrl.Manager) error {
w := new(gcpClusterWebhook)
Copy link
Member

Choose a reason for hiding this comment

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

Could we move the webhooks to internal/webhooks so that we start brining the structure in line with upstream CAPI and also kubebuilder

Copy link
Author

Choose a reason for hiding this comment

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

This sounds reasonable. But can this be done in a separate pr (preferrably by project maintainers), as this will look like a lot of change in the pr and mask the actual change needed to make things work with the kubebuilder api breakage?

Copy link
Member

Choose a reason for hiding this comment

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

Yeah +1 for doing this, but probably best to do it in a follow up PR to avoid polluting this one

@damdo
Copy link
Member

damdo commented Apr 10, 2025

Hey @tamalsaha
Thanks a lot for the PR!

Now that a complete Go dependecy bump PR has merged from @cpanato #1449 would you be able to rebase yours on top of the latest main.

This should cover part of @richardcase comment here: #1459 (comment)

Also it looks like the CAPI v1.10.0-rc.0 is out, so it would be nice to use that instead of beta.0.
Thanks a lot!

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 10, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: tamalsaha
Once this PR has been reviewed and has the lgtm label, please assign chrischdi 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 removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 14, 2025
@tamalsaha tamalsaha force-pushed the k132 branch 2 times, most recently from b824d79 to 4bee5aa Compare April 14, 2025 23:38
@tamalsaha tamalsaha changed the title Use k8s 1.32 client libs Bump CAPI to v1.10.0-rc.0 Apr 14, 2025
@damdo
Copy link
Member

damdo commented Apr 15, 2025

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Apr 15, 2025
@k8s-ci-robot
Copy link
Contributor

@damdo: The following commands are available to trigger required jobs:

/test pull-cluster-api-provider-gcp-build
/test pull-cluster-api-provider-gcp-e2e-test
/test pull-cluster-api-provider-gcp-make
/test pull-cluster-api-provider-gcp-test
/test pull-cluster-api-provider-gcp-verify

The following commands are available to trigger optional jobs:

/test pull-cluster-api-provider-gcp-apidiff
/test pull-cluster-api-provider-gcp-capi-e2e
/test pull-cluster-api-provider-gcp-conformance
/test pull-cluster-api-provider-gcp-conformance-ci-artifacts
/test pull-cluster-api-provider-gcp-coverage
/test pull-cluster-api-provider-gcp-e2e-workload-upgrade

Use /test all to run the following jobs that were automatically triggered:

pull-cluster-api-provider-gcp-apidiff
pull-cluster-api-provider-gcp-build
pull-cluster-api-provider-gcp-e2e-test
pull-cluster-api-provider-gcp-make
pull-cluster-api-provider-gcp-test
pull-cluster-api-provider-gcp-verify

In response to this:

/test ?

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.

@damdo
Copy link
Member

damdo commented May 3, 2025

/test pull-cluster-api-provider-gcp-conformance pull-cluster-api-provider-gcp-capi-e2e

@tamalsaha
Copy link
Author

How do I fix the error?

"failed to read "cluster-template-topology.yaml" from provider's repository "infrastructure-gcp": failed to read file "/logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml" from local release v1.10.99: stat /logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml: no such file or directory"

https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_cluster-api-provider-gcp/1459/pull-cluster-api-provider-gcp-capi-e2e/1918628474663211008

@damdo
Copy link
Member

damdo commented May 5, 2025

@tamalsaha I think that might be a lingering issue with the test setup, trying to verify my assumption: #1470 and #1471

@damdo
Copy link
Member

damdo commented May 5, 2025

Ok so I think this: #1470 fixes the cluster-template-topology.yaml issue that you are seeing @tamalsaha

Unfortunately that issue masks another one, which we need to look at fixing as well.

cc. @salasberryfin for a review on #1470 as you worked on that area here

@damdo
Copy link
Member

damdo commented May 5, 2025

#1470 merged 🎉

There are still some issues we are trying to fix. More context on: https://kubernetes.slack.com/archives/C01D1RFEN9G/p1745836188671049

@alexander-demicev
Copy link
Contributor

I know we're currently blocked from running GKE tests, but any tests using MachinePools will fail after the version bump. This is due to a recent change in the bootstrap.dataSecretName validation that no longer allows an empty value. For GKE, this field is only included to satisfy the API contract - example.

I’d like to ask to check if passing a placeholder value could work as a short-term solution, but in the long run, we might need a passthrough API object like GKEConfig.

@tamalsaha
Copy link
Author

We are trying to get this new restriction relaxed kubernetes-sigs/cluster-api#12164

tamalsaha added 10 commits May 7, 2025 19:09
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
Signed-off-by: Tamal Saha <[email protected]>
@salasberryfin
Copy link
Contributor

I guess we'll have to wait for the next CAPI patch release to have this fixed: kubernetes-sigs/cluster-api#12180. Is that correct?

@damdo
Copy link
Member

damdo commented May 16, 2025

Yes correct @salasberryfin

Signed-off-by: Tamal Saha <[email protected]>
@tamalsaha tamalsaha changed the title Bump CAPI to v1.10.1 Bump CAPI to v1.10.2 May 20, 2025
@tamalsaha
Copy link
Author

tamalsaha commented May 20, 2025

New error:

failed to read "cluster-template-topology.yaml" from provider's repository "infrastructure-gcp": failed to read file "/logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml" from local release v1.10.99: stat /logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml: no such file or directory

https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_cluster-api-provider-gcp/1459/pull-cluster-api-provider-gcp-capi-e2e/1918628474663211008

@k8s-ci-robot
Copy link
Contributor

k8s-ci-robot commented May 20, 2025

@tamalsaha: 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-gcp-capi-e2e 5953e18 link false /test pull-cluster-api-provider-gcp-capi-e2e
pull-cluster-api-provider-gcp-verify 3691997 link true /test pull-cluster-api-provider-gcp-verify
pull-cluster-api-provider-gcp-apidiff 3691997 link false /test pull-cluster-api-provider-gcp-apidiff

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.

@damdo
Copy link
Member

damdo commented May 21, 2025

New error:

failed to read "cluster-template-topology.yaml" from provider's repository "infrastructure-gcp": failed to read file "/logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml" from local release v1.10.99: stat /logs/artifacts/repository/infrastructure-gcp/v1.10.99/cluster-template-topology.yaml: no such file or directory

https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_cluster-api-provider-gcp/1459/pull-cluster-api-provider-gcp-capi-e2e/1918628474663211008

It looks like you fixed that thanks

@damdo
Copy link
Member

damdo commented May 21, 2025

@tamalsaha a couple of things to fix:

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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-none Denotes a PR that doesn't merit a release note. 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.

6 participants