Skip to content

Commit 7f8e2be

Browse files
committed
fix: attempt etcd leave before deleting a Machine
With Sidero Metal, deleting a machine leads to a super fast power down, and etcd leave doesn't have time to run, which breaks scaling down `2->1`. Signed-off-by: Andrey Smirnov <[email protected]>
1 parent 8b65387 commit 7f8e2be

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

controllers/scale.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,14 @@ func (r *TalosControlPlaneReconciler) scaleDownControlPlane(
120120

121121
r.Log.Info("deleting machine", "machine", deleteMachine.Name, "node", node.Name)
122122

123+
leaveErr := r.gracefulEtcdLeave(ctx, c, util.ObjectKey(cluster), *deleteMachine)
124+
123125
err = r.Client.Delete(ctx, deleteMachine)
124126
if err != nil {
125127
return ctrl.Result{}, err
126128
}
127129

128-
err = r.gracefulEtcdLeave(ctx, c, util.ObjectKey(cluster), *deleteMachine)
129-
if err != nil {
130+
if leaveErr != nil {
130131
return ctrl.Result{}, err
131132
}
132133

0 commit comments

Comments
 (0)