Skip to content

Commit 6fc621a

Browse files
authored
Merge pull request #1452 from tahsinrahman/fix-delete-machine
🐛 Machine deletion: try up to 10s to delete the Node, then move on
2 parents 7f82f67 + a396f02 commit 6fc621a

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

controllers/machine_controller.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package controllers
1919
import (
2020
"context"
2121
"sync"
22+
"time"
2223

2324
"github.com/go-logr/logr"
2425
"github.com/pkg/errors"
@@ -27,6 +28,7 @@ import (
2728
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2829
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
2930
kerrors "k8s.io/apimachinery/pkg/util/errors"
31+
"k8s.io/apimachinery/pkg/util/wait"
3032
"k8s.io/client-go/tools/record"
3133
"k8s.io/klog"
3234
clusterv1 "sigs.k8s.io/cluster-api/api/v1alpha2"
@@ -183,9 +185,18 @@ func (r *MachineReconciler) reconcileDelete(ctx context.Context, cluster *cluste
183185
}
184186
} else {
185187
klog.Infof("Deleting node %q for machine %q", m.Status.NodeRef.Name, m.Name)
186-
if err := r.deleteNode(ctx, cluster, m.Status.NodeRef.Name); err != nil && !apierrors.IsNotFound(err) {
187-
klog.Errorf("Error deleting node %q for machine %q: %v", m.Status.NodeRef.Name, m.Name, err)
188-
return ctrl.Result{}, err
188+
189+
var deleteNodeErr error
190+
waitErr := wait.PollImmediate(2*time.Second, 10*time.Second, func() (bool, error) {
191+
if deleteNodeErr = r.deleteNode(ctx, cluster, m.Status.NodeRef.Name); deleteNodeErr != nil && !apierrors.IsNotFound(deleteNodeErr) {
192+
return false, nil
193+
}
194+
return true, nil
195+
})
196+
if waitErr != nil {
197+
// TODO: remove m.Name after #1203
198+
r.Log.Error(deleteNodeErr, "timed out deleting Machine's node, moving on", "node", m.Status.NodeRef.Name, "machine", m.Name)
199+
r.recorder.Eventf(m, corev1.EventTypeWarning, "FailedDeleteNode", "error deleting Machine's node: %v", deleteNodeErr)
189200
}
190201
}
191202

0 commit comments

Comments
 (0)