From f7f5a8a6b7b1b6df77e93592a2193eceade103c2 Mon Sep 17 00:00:00 2001 From: siozosdr Date: Mon, 24 Jun 2019 17:58:53 +0200 Subject: [PATCH] (MODE-11365) Set localexec to ASG to reduce service downtime. --- deployment/modules/tileserver/autoscaling.tf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deployment/modules/tileserver/autoscaling.tf b/deployment/modules/tileserver/autoscaling.tf index 1936f78..1e1b6d5 100644 --- a/deployment/modules/tileserver/autoscaling.tf +++ b/deployment/modules/tileserver/autoscaling.tf @@ -44,6 +44,11 @@ resource "aws_autoscaling_group" "autoscalinggroup" { value = "maps" propagate_at_launch = true } + + provisioner "local-exec" { + # Wait until the number of "ok" instance status checks is equal to 1 + command = "sleep 15; i=0; while [[ $(/usr/bin/aws ec2 describe-instances --filters 'Name=tag:aws:autoscaling:groupName,Values=${aws_autoscaling_group.autoscalinggroup.name}' --query 'Reservations[*].Instances[*].InstanceId' --output text | xargs aws ec2 describe-instance-status --query 'InstanceStatuses[*].SystemStatus.Status' --instance-ids | jq 'map(select(. == \"ok\")) | length') -lt 1 ]]; do i=$(echo $((++i))); echo ''; echo retrying $i; sleep 5;if [[ $i -eq 60 ]]; then exit 1; fi; done; sleep 45" + } } #