diff --git a/cluster/aws/util.sh b/cluster/aws/util.sh index 2ff0d076d94..04e3fc607cb 100755 --- a/cluster/aws/util.sh +++ b/cluster/aws/util.sh @@ -1198,21 +1198,26 @@ function kube-down { done fi - if [[ -n $(${AWS_ASG_CMD} --output text describe-auto-scaling-groups --auto-scaling-group-names ${ASG_NAME} --query AutoScalingGroups[].AutoScalingGroupName) ]]; then - echo "Deleting auto-scaling group: ${ASG_NAME}" - ${AWS_ASG_CMD} delete-auto-scaling-group --force-delete --auto-scaling-group-name ${ASG_NAME} - fi - - if [[ -n $(${AWS_ASG_CMD} --output text describe-launch-configurations --launch-configuration-names ${ASG_NAME} --query LaunchConfigurations[].LaunchConfigurationName) ]]; then - echo "Deleting auto-scaling launch configuration: ${ASG_NAME}" - ${AWS_ASG_CMD} delete-launch-configuration --launch-configuration-name ${ASG_NAME} - fi - echo "Deleting instances in VPC: ${vpc_id}" instance_ids=$($AWS_CMD --output text describe-instances \ --filters Name=vpc-id,Values=${vpc_id} \ Name=tag:KubernetesCluster,Values=${CLUSTER_ID} \ --query Reservations[].Instances[].InstanceId) + + asg_groups=$($AWS_CMD --output text describe-instances \ + --query 'Reservations[].Instances[].Tags[?Key==`aws:autoscaling:groupName`].Value[]' \ + --instance-ids ${instance_ids}) + for asg_group in ${asg_groups}; do + if [[ -n $(${AWS_ASG_CMD} --output text describe-auto-scaling-groups --auto-scaling-group-names ${asg_group} --query AutoScalingGroups[].AutoScalingGroupName) ]]; then + echo "Deleting auto-scaling group: ${asg_group}" + ${AWS_ASG_CMD} delete-auto-scaling-group --force-delete --auto-scaling-group-name ${asg_group} + fi + if [[ -n $(${AWS_ASG_CMD} --output text describe-launch-configurations --launch-configuration-names ${asg_group} --query LaunchConfigurations[].LaunchConfigurationName) ]]; then + echo "Deleting auto-scaling launch configuration: ${asg_group}" + ${AWS_ASG_CMD} delete-launch-configuration --launch-configuration-name ${asg_group} + fi + done + if [[ -n "${instance_ids}" ]]; then $AWS_CMD terminate-instances --instance-ids ${instance_ids} > $LOG echo "Waiting for instances to be deleted"