You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 20, 2021. It is now read-only.
When creating a CritControlPlane with multiple nodes (i.e 3 or 5), it creates all of the nodes initially and won't create anymore nodes unless an upgrade must happen (signified by a change to the CritControlPlane resource). This will not cover cases where, for example, an AWS machine is terminated, and therefore removed as a node by the aws cloud controller manager, and there is still a majority of nodes that are healthy.
This could be accomplished several ways, but I believe this should happen whenever ownedMachines < ccp.Spec.Replicas here (instead of when ownedMachines is 0):
logger.Error(err, "failed to create initial control plane Machine")
r.recorder.Eventf(ccp, corev1.EventTypeWarning, "FailedInitialization", "Failed to create initial control plane Machine for cluster %s/%s control plane: %v", cluster.Namespace, cluster.Name, err)
return ctrl.Result{}, err
}
}
// requeue the control plane, in case there are additional operations to perform
return ctrl.Result{Requeue: true}, nil
}
and should ensure that when creating replacement nodes that it did not lose quorum (if it did, it should do nothing as the cluster has become degraded).
When creating a
CritControlPlanewith multiple nodes (i.e 3 or 5), it creates all of the nodes initially and won't create anymore nodes unless an upgrade must happen (signified by a change to the CritControlPlane resource). This will not cover cases where, for example, an AWS machine is terminated, and therefore removed as a node by the aws cloud controller manager, and there is still a majority of nodes that are healthy.This could be accomplished several ways, but I believe this should happen whenever
ownedMachines < ccp.Spec.Replicashere (instead of whenownedMachinesis 0):cluster-api-bootstrap-provider-crit/controllers/controlplane/controlplane.go
Lines 112 to 129 in 793f4c8
and should ensure that when creating replacement nodes that it did not lose quorum (if it did, it should do nothing as the cluster has become degraded).