Revert "operator: always delete terminated pending nodes (#2545)" (#2596)

This reverts commit 5267ad0f08.
This commit is contained in:
3u13r 2023-11-13 20:25:34 +01:00 committed by GitHub
parent 8f2f8bdbbd
commit 56ab3e9e04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -93,7 +93,7 @@ func (r *PendingNodeReconciler) Reconcile(ctx context.Context, req ctrl.Request)
if done {
logr.Info("Reached goal", "pendingNodeGoal", pendingNode.Spec.Goal, "cspNodeState", nodeState)
if pendingNode.Spec.Goal == updatev1alpha1.NodeGoalLeave || nodeState == updatev1alpha1.NodeStateTerminated {
if pendingNode.Spec.Goal == updatev1alpha1.NodeGoalLeave {
// delete self after pending node has been terminated successfully
if err := r.deletePendingNode(ctx, req.NamespacedName); err != nil {
return ctrl.Result{}, err
@ -213,17 +213,13 @@ func (r *PendingNodeReconciler) findObjectsForNode(ctx context.Context, rawNode
// - joining node: CSP reports the node instance as running and node has joined kubernetes cluster.
// - leaving node: CSP reports node instance as terminated.
func (r *PendingNodeReconciler) reachedGoal(ctx context.Context, pendingNode updatev1alpha1.PendingNode, nodeState updatev1alpha1.CSPNodeState) (bool, error) {
// Always return if the node is terminated so the resource can be cleaned up.
if nodeState == updatev1alpha1.NodeStateTerminated {
return true, nil
}
if pendingNode.Spec.Goal == updatev1alpha1.NodeGoalJoin {
if err := r.Get(ctx, types.NamespacedName{Name: pendingNode.Spec.NodeName}, &corev1.Node{}); err != nil {
return false, client.IgnoreNotFound(err)
}
return nodeState == updatev1alpha1.NodeStateReady, nil
}
return false, nil
return nodeState == updatev1alpha1.NodeStateTerminated, nil
}
// deletePendingNode deletes a PendingNode resource.