Skip to content

Commit 5b523a3

Browse files
authored
Merge pull request #1318 from buildkite/fix-windows-agent-not-restarting
Fix windows agent not restarting
2 parents 4b2c94b + 2f0f39c commit 5b523a3

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1+
Start-Transcript -path C:\buildkite-agent\terminate-instance.log -append
2+
13
$Token = (Invoke-WebRequest -UseBasicParsing -Method Put -Headers @{'X-aws-ec2-metadata-token-ttl-seconds' = '60'} http://169.254.169.254/latest/api/token).content
24

35
$InstanceId = (Invoke-WebRequest -UseBasicParsing -Headers @{'X-aws-ec2-metadata-token' = $Token} http://169.254.169.254/latest/meta-data/instance-id).content
46
$Region = (Invoke-WebRequest -UseBasicParsing -Headers @{'X-aws-ec2-metadata-token' = $Token} http://169.254.169.254/latest/meta-data/placement/region).content
57

6-
Write-Output "terminate-instance: disconnecting agent..."
7-
nssm stop buildkite-agent
8-
9-
Write-Output "terminate-instance: requesting instance termination..."
8+
Write-Output "$(Get-Date) terminate-instance: requesting instance termination..."
109
aws autoscaling terminate-instance-in-auto-scaling-group --region "$Region" --instance-id "$InstanceId" "--should-decrement-desired-capacity" 2> $null
1110

1211
# If autoscaling request was successful, we will terminate the instance, otherwise, if
1312
# BuildkiteTerminateInstanceAfterJob is set to true, we will mark the instance as unhealthy
1413
# so that the ASG will terminate it despite scale-in protection. Otherwise, we should not
1514
# terminate the instance, so we need to retart the agent.
1615
if ($lastexitcode -eq 0) {
17-
Write-Output "terminate-instance: terminating instance..."
16+
Write-Output "$(Get-Date) terminate-instance: terminating instance..."
1817
} else {
19-
Write-Output "terminate-instance: ASG could not decrement (we're already at minSize)"
18+
Write-Output "$(Get-Date) terminate-instance: ASG could not decrement (we're already at minSize)"
2019
if ($Env:BUILDKITE_TERMINATE_INSTANCE_AFTER_JOB -eq "true") {
21-
Write-Output "terminate-instance: marking instance as unhealthy"
20+
Write-Output "$(Get-Date) terminate-instance: marking instance as unhealthy"
2221
aws autoscaling set-instance-health `
2322
--instance-id "$InstanceId" `
2423
--region "$Region" `
2524
--health-status Unhealthy
2625
} else {
27-
Write-Output "terminate-instance: restarting agent..."
26+
Write-Output "$(Get-Date) terminate-instance: restarting agent..."
2827
nssm start buildkite-agent
2928
}
3029
}
30+
31+
Stop-Transcript

0 commit comments

Comments
 (0)