Skip to content

clusterctl move fails when migrating from v1beta1 to v1beta2 management cluster #13034

@LuckyChen666

Description

@LuckyChen666

What would you like to be added (User Story)?

Support Cross-Version clusterctl move Between v1beta1 and v1beta2 Management Clusters

Detailed Description

What happened?

When attempting to migrate a workload cluster from a v1.10 (v1beta1) management cluster to a v1.11 (v1beta2) management cluster using clusterctl move, the operation fails with:

Error: this version of clusterctl could be used only with "v1beta2" management clusters, "v1beta1" detected

What did you expect to happen?

clusterctl move should support migration between different API versions, especially during version upgrades from v1beta1 to v1beta2, or provide clear upgrade path documentation.

How to reproduce it?

clusterctl move \
  --kubeconfig ~/migration/mccdev03-capi/mccdev03-capi.config \
  --to-kubeconfig ~/migration/golden-odev-1/golden-odev-1.config \
  --namespace migrate-test \
  --v=5

Environment:

  • Source management cluster: CAPI v1.10 (v1beta1)
  • Target management cluster: CAPI v1.11 (v1beta2)
  • clusterctl version: v1.11.3

Anything else you would like to add?

  1. Should clusterctl move support cross-version migration?
  2. Given that an in-place production upgrade of the source management cluster to v1.11 is too risky, is an officially supported cross-version move workflow planned or documented?
  3. If not, what's the recommended upgrade path? Should we:
    • First upgrade the source management cluster to v1.11
    • Then perform the move operation
    • Or use alternative migration strategies?

Label(s) to be applied

/kind feature
One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.needs-priorityIndicates an issue lacks a `priority/foo` label and requires one.needs-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions