From a9ad1ca8de83d1f95183c7f140730e62654c1bfc Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Wed, 16 Sep 2015 12:33:37 +0300 Subject: [PATCH] handle master nodes group in ec2 --- devops-service/providers/ec2.rb | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/devops-service/providers/ec2.rb b/devops-service/providers/ec2.rb index 97ab7e7..dfd05d6 100644 --- a/devops-service/providers/ec2.rb +++ b/devops-service/providers/ec2.rb @@ -262,21 +262,22 @@ module Provider def stack_servers(stack) # orchestration.describe_stack_resources возвращает мало информации - list = compute.describe_instances( + resources = compute.describe_instances( 'tag-key' => 'aws:cloudformation:stack-id', 'tag-value' => stack.id ).body["reservationSet"] - list.map do |instance| - info = instance["instancesSet"][0] - instance_logical_name = info["tagSet"]["Name"] || info['tagSet']['aws:cloudformation:logical-id'] + instances = resources.map { |resource| resource["instancesSet"] }.flatten + + instances.map do |instance| + logical_name = instance["tagSet"]["Name"] || instance['tagSet']['aws:cloudformation:logical-id'] { - # 'name' => info["tagSet"]["Name"], - 'name' => [stack.name, instance_logical_name].join('-'), - 'id' => info["instanceId"], - 'key_name' => info["keyName"], - 'private_ip' => info["privateIpAddress"], - 'public_ip' => info["ipAddress"], + # 'name' => instance["tagSet"]["Name"], + 'name' => [stack.name, logical_name].join('-'), + 'id' => instance["instanceId"], + 'key_name' => instance["keyName"], + 'private_ip' => instance["privateIpAddress"], + 'public_ip' => instance["ipAddress"], } end end