Skip to content

Commit 731da6f

Browse files
committed
delete annotated machines first
In certain circumstances the deleteMachine annotation isn't yet propagated from the Machine to the AzureMachinePoolMachine. This can result in deleting the wrong machines. This change ensures the owner Machine's deleteMachine annotation is always considered and those machines are deleted first.
1 parent 2f62956 commit 731da6f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

azure/scope/strategies/machinepool_deployments/machinepool_deployment_strategy.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@ func (rollingUpdateStrategy rollingUpdateStrategy) SelectMachinesToDelete(ctx co
169169
"deletingMachines", len(deletingMachines),
170170
)
171171

172+
// if we have machines annotated with delete machine, remove them
173+
if len(deleteAnnotatedMachines) > 0 {
174+
log.Info("delete annotated machines", "desiredReplicaCount", desiredReplicaCount, "maxUnavailable", maxUnavailable, "deleteAnnotatedMachines", getProviderIDs(deleteAnnotatedMachines))
175+
return deleteAnnotatedMachines, nil
176+
}
177+
172178
// if we have failed or deleting machines, remove them
173179
if len(failedMachines) > 0 || len(deletingMachines) > 0 {
174180
log.Info("failed or deleting machines", "desiredReplicaCount", desiredReplicaCount, "maxUnavailable", maxUnavailable, "failedMachines", getProviderIDs(failedMachines), "deletingMachines", getProviderIDs(deletingMachines))

0 commit comments

Comments
 (0)