Skip to content
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

clusterctl move should be able to handle multiple clusters being in the same namespace #9705

Closed
christophercorn opened this issue Nov 10, 2023 · 9 comments
Labels
area/clusterctl Issues or PRs related to clusterctl kind/feature Categorizes issue or PR as related to a new feature. triage/duplicate Indicates an issue is a duplicate of other open issue.

Comments

@christophercorn
Copy link

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

As a user I would like clusterctl move to be able to handle migrations when there are multiple clusters in the same namespace. As there are many design patterns, some users like myself have ended on having all clusters in the same namespace. This makes using clusterctl move not applicable and are required to create our own solution.

Detailed Description

clusterctl move should be able to handle many clusters being in the same kubernetes namespace.

Anything else you would like to add?

No response

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.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 10, 2023
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

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/test-infra repository.

@sbueringer sbueringer added the area/clusterctl Issues or PRs related to clusterctl label Nov 14, 2023
@sbueringer
Copy link
Member

sbueringer commented Nov 14, 2023

Please note

clusterctl move has been designed and developed around the bootstrap use case described below, and currently this is the only use case verified by Cluster API E2E tests.
https://cluster-api.sigs.k8s.io/clusterctl/commands/move

What happens if you try to move multiple clusters? Or is this issue not about a concrete error but instead about expanding the supported/tested use cases of clusterctl move beyond the bootstrap use case?

@christophercorn
Copy link
Author

Please note

clusterctl move has been designed and developed around the bootstrap use case described below, and currently this is the only use case verified by Cluster API E2E tests.
https://cluster-api.sigs.k8s.io/clusterctl/commands/move

What happens if you try to move multiple clusters? Or is this issue not about a concrete error but instead about expanding the supported/tested use cases of clusterctl move beyond the bootstrap use case?

hi. This is a request to move beyond the current supported use case.

@fabriziopandini
Copy link
Member

fabriziopandini commented Jan 19, 2024

What is the exact use case are you trying to solve?

Even if not covered by dedicated tests, and thus not recommended/officially supported, clusterctl should be able to move multiple clusters in a single namespace. Is this the use case are you trying to address? Are you having issues?

If instead you are trying to move a single cluster away from a namespace where there are many, this is not supported now. The reason is that there could be things shared across clusters: Cluster Class, IP pools, ClusterResourceSets, eventually Templates etc.
The existence of resources shared across clusters makes moving a single cluster very complex e.g we cannot move IP pools away from the namespace, otherwise clusters in this namespace will break; from the other side we cannot duplicate IP pools in the target cluster, because it will lead to duplicate ip assignements etc.

Ultimately the complexity is not really in clusterctl move, but in the fact that some things in Cluster API and in Cluster API providers were not designed with this use case in mind. Figuring out what those things are, how they can work in this scenario, identifying and implementing required fix etc. seems a task that requires a strong commitment.

Unfortunately, when I proposed a similar discussion some time ago, the issue did not gain traction and got closed after one year of inactivity 😞

This makes using clusterctl move not applicable and are required to create our own solution.

how do envision this solution?

@fabriziopandini
Copy link
Member

note: if this issue is about moving one cluster from a namespace where there are many, this issue is a duplicate of #7061 and we should dedup

@christophercorn
Copy link
Author

If instead you are trying to move a single cluster away from a namespace where there are many, this is not supported now.

Hi @fabriziopandini
Yes this is exactly what I'm trying to do. This would be very helpful.

@fabriziopandini
Copy link
Member

note: if this issue is about moving one cluster from a namespace where there are many, this issue is a duplicate of #7061 and we should dedup

/triage duplicate
/close

@k8s-ci-robot k8s-ci-robot added the triage/duplicate Indicates an issue is a duplicate of other open issue. label Feb 6, 2024
@k8s-ci-robot
Copy link
Contributor

@fabriziopandini: The label(s) triage/ cannot be applied, because the repository doesn't have them.

In response to this:

note: if this issue is about moving one cluster from a namespace where there are many, this issue is a duplicate of #7061 and we should dedup

/triage duplicate
/close

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/test-infra repository.

@k8s-ci-robot k8s-ci-robot removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Feb 6, 2024
@k8s-ci-robot
Copy link
Contributor

@fabriziopandini: Closing this issue.

In response to this:

note: if this issue is about moving one cluster from a namespace where there are many, this issue is a duplicate of #7061 and we should dedup

/triage duplicate
/close

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/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/clusterctl Issues or PRs related to clusterctl kind/feature Categorizes issue or PR as related to a new feature. triage/duplicate Indicates an issue is a duplicate of other open issue.
Projects
None yet
Development

No branches or pull requests

4 participants