Skip to content

Conversation

@chrischdi
Copy link
Member

@chrischdi chrischdi commented Nov 20, 2025

What this PR does / why we need it:

Required for:

Partial cherry-pick of: #12723

Cherry-picks commits:

This is required for CAPZ to bump to v1.11 without loosing test-coverage.

It has an additional test for clusterctl upgrade which updates CAPZ while having CAPI at v1.11 before and after.

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 #

/area e2e-testing

@k8s-ci-robot k8s-ci-robot added this to the v1.11 milestone Nov 20, 2025
@k8s-ci-robot k8s-ci-robot added the area/e2e-testing Issues or PRs related to e2e testing label Nov 20, 2025
@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 vincepri 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 the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Nov 20, 2025
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Nov 20, 2025
@chrischdi chrischdi changed the title [release-1.11] e2e: allow usage of v1beta1 and v1beta2 for MachinePools in clusterctl upgrade [release-1.11] 🌱 e2e: allow usage of v1beta1 and v1beta2 for MachinePools in clusterctl upgrade Nov 20, 2025
var infraMachinePool *unstructured.Unstructured

// Fallback to v1beta1's objectReference
if clusterv1.GroupVersion.Version == "v1beta1" {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
if clusterv1.GroupVersion.Version == "v1beta1" {
if coreCAPIStorageVersion == "v1beta1" {

Shouldn't this be like this instead?

Copy link
Member Author

Choose a reason for hiding this comment

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

whoop, yeah ! good catch...

@chrischdi
Copy link
Member Author

/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Nov 21, 2025
@chrischdi
Copy link
Member Author

Unrelated flake:

/retest

==================
WARNING: DATA RACE
Read at 0x00c001b5a881 by goroutine 655:
  net/http.rewindBody()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/transport.go:787 +0x111
  net/http.(*Transport).roundTrip()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/transport.go:619 +0x70a
  net/http.(*Transport).RoundTrip()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/roundtrip.go:30 +0x33
  k8s.io/client-go/transport.(*userAgentRoundTripper).RoundTrip()
      /home/prow/go/pkg/mod/k8s.io/[email protected]/transport/round_trippers.go:174 +0x4ef
  net/http.send()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/client.go:259 +0x8ca
  net/http.(*Client).send()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/client.go:180 +0x14c
  net/http.(*Client).do()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/client.go:728 +0x1338
  net/http.(*Client).Do()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/client.go:587 +0x6d5
  k8s.io/client-go/rest.(*Request).request()
      /home/prow/go/pkg/mod/k8s.io/[email protected]/rest/request.go:1252 +0x3e2
  k8s.io/client-go/rest.(*Request).Do()
      /home/prow/go/pkg/mod/k8s.io/[email protected]/rest/request.go:1300 +0x1e4
  sigs.k8s.io/controller-runtime/pkg/client.(*typedClient).PatchSubResource()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/client/typed_client.go:277 +0x984
  sigs.k8s.io/controller-runtime/pkg/client.(*subResourceClient).Patch()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/client/client.go:585 +0x47a
  sigs.k8s.io/cluster-api/util/patch.(*Helper).patchStatus()
      /home/prow/go/src/sigs.k8s.io/cluster-api/util/patch/patch.go:216 +0x243
  sigs.k8s.io/cluster-api/util/patch.(*Helper).Patch()
      /home/prow/go/src/sigs.k8s.io/cluster-api/util/patch/patch.go:182 +0x136e
  sigs.k8s.io/cluster-api/internal/controllers/clusterresourceset.(*Reconciler).Reconcile.func1()
      /home/prow/go/src/sigs.k8s.io/cluster-api/internal/controllers/clusterresourceset/clusterresourceset_controller.go:168 +0x24b
  runtime.deferreturn()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/runtime/panic.go:610 +0x5d
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).Reconcile()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:119 +0x1bd
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).reconcileHandler()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:340 +0x52f
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).processNextWorkItem()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:300 +0x3b2
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).Start.func2.1()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:202 +0xe4

Previous write at 0x00c001b5a881 by goroutine 4770:
  net/http.(*readTrackingBody).Close()
      /home/prow/go/pkg/mod/golang.org/[email protected]/src/net/http/transport.go:765 +0x2c
  golang.org/x/net/http2.(*clientStream).closeReqBodyLocked.func1()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:538 +0xe1

Goroutine 655 (running) created at:
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).Start.func2()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:198 +0x494
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[go.shape.struct { k8s.io/apimachinery/pkg/types.NamespacedName }]).Start()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:209 +0x4ef
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[sigs.k8s.io/controller-runtime/pkg/reconcile.Request]).Start()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:148 +0x4a
  sigs.k8s.io/controller-runtime/pkg/manager.(*runnableGroup).reconcile.func1()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/runnable_group.go:226 +0x1bd
  sigs.k8s.io/controller-runtime/pkg/manager.(*runnableGroup).reconcile.gowrap1()
      /home/prow/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/runnable_group.go:229 +0x41

Goroutine 4770 (finished) created at:
  golang.org/x/net/http2.(*clientStream).closeReqBodyLocked()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:536 +0x164
  golang.org/x/net/http2.(*clientStream).abortStreamLocked()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:511 +0xbd
  golang.org/x/net/http2.(*ClientConn).setGoAway()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:969 +0x504
  golang.org/x/net/http2.(*clientConnReadLoop).processGoAway()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:2825 +0x2ef
  golang.org/x/net/http2.(*clientConnReadLoop).run()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:2294 +0x699
  golang.org/x/net/http2.(*ClientConn).readLoop()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:2127 +0x16a
  golang.org/x/net/http2.(*Transport).newClientConn.gowrap1()
      /home/prow/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:912 +0x33
=================

@chrischdi
Copy link
Member Author

/retest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/e2e-testing Issues or PRs related to e2e testing cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants