-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
[2019-11-26 Updated] according to #1730 (comment) Pivot is now rebranded into Move; issue updated accordingly
User Story
As an operator I would like to move cluster objects and all the associated resources (Machines, Machine Depolyments etc.) from the current management cluster to another management cluster for any reason
Detailed Description
The clusterctl CAEP currently in flight assumes the user should brig its own management cluster, so technically the sequence bootstrap cluster -> pivot to -> management cluster is not necessary anymore.
However, the same CAEP consider pivoting a possible answer to different operational needs, e.g because of maintenance or replacement of the management cluster, so pivoting is still in scope.
With v1alpha3 in flight and the new assumptions around clusterctl - one binary for rule all the providers -, the implementation detail should be re-validated, keeping in mind also #1730 (comment) discussion that lead to transforming pivot into move.
Goals
-
- To define a moving process that can work on any clusterctl generated management cluster (with any provider or any combinations of providers)
- To define how to move provider-specific objects (or eventually hierarchies of objects)
-
- To define conventions/requirements the above process should rely on e.g.
- define a convention for forcing cluster-api controllers to not reconcile resources.
- Auto labeling cluster resources
- Define a convention for namespaced deployments
-
- To define move specializations, like e.g. move only clusters in a given namespace or move only a specific cluster
-
- To define eventual move side effects (e.g. If forcing cluster-api controllers to not reconcile resources will be implemented scaling down controllers, all the cluster objects stop to reconcile)
-
- To define preflight checks to be executed before move, e.g.
- check all the required providers exists in the target cluster (how to identify required providers TBD)
- other checks e.g. objects already exist in the target cluster
Non-Goals
-
- to support move for DIY management clusters (not created with clusterctl)
-
- to support move for clusters < v1alpha3 (TO BE CONFIRMED)
Anything else you would like to add:
There is a lot of learning from past experiences on pivoting, so I'm pasting below some comments from different threads. Feel free to add more.
/kind feature