-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Implement reconcile MachineDeployments for managed topologies #5064
Comments
/assign |
/milestone v0.4 |
@srm09 @fabriziopandini A question regarding "How can I correlate MachineDeployment?" Based on the proposal I can identify MachineDeployments based on |
/cc @killianmuldoon |
@fabriziopandini A few questions:
Unfortunately, this will leak templates in case something fails after the first template creation. Do we already have a way to avoid leaking templates? Possible solutions:
|
This needs to be updated in the proposal is my understanding. In the getCurrentState PR we're using two labels to get the machineDeployments related to the managed cluster: the topology label to show that the cluster is actually managed and then the clusterName label to show which cluster it's a part of. The code for this check is: |
fyi Fabrizio added the comment for the issue for the "underlying" implementation in #4999 (comment) (which fulfills my requirement to be able to correlate MachineDeployments) |
Yes, in case of template rotation, we should generate a new name and then update the reference accordingly
I have explored a couple of options with @vincepri , but at the end there is always risk of orphaning templates when doing template rotation. I'm considering to add a final step in the controller cleaning up orphan templates; it is on my agenda to open an issue for this point. |
/area topology |
Detailed Description
This is part of the activities for the implementation of the ClusterClass proposal.
The ClusterTopologyReconciler, after reading the cluster class, the current cluster and computing the desired state, is required to reconcile current and desired state.
This issue is about implementing reconcile current and desired state for the MachineDeployments object.
The operation could be divided into two steps:
Comparing desired MachineDeployments and current MachineDeployments and identify
a. desired MachineDeployments that does not exists yet
b. desired MachineDeployments that already exists as a current Machine deployments
c. current MachineDeployments that does not exists as desired
Handle the three above use cases, executing create & update (reconcile) or delete MachineDeployment
create & update (reconcile) MachineDeployment is similar to what already discussed in #5036 or in #5049, with the difference that it is required to reconcile the BootstrapConfigTemplate and the InfrastructureMachineTemplate before reconciling the MachineDeployment (Note: both BootstrapConfigTemplate and the InfrastructureMachineTemplate should handle template rotation similarly to what discussed in #5049)
delete MachineDeployment instead is straight forward (it should delete the machine deployment only, this will trigger template deletion as well).
Anything else you would like to add:
NOTE: Given how reading the cluster class, the current cluster and computing the desired state are implemented it is possible to do following assumptions:
NOTE: The func must provide logs at different level to allow debug
/kind feature
The text was updated successfully, but these errors were encountered: