handle master nodes group in ec2

This commit is contained in:
Anton Chuchkalov 2015-09-16 12:33:37 +03:00
parent 0dd550c37e
commit a9ad1ca8de

View File

@ -262,21 +262,22 @@ module Provider
def stack_servers(stack) def stack_servers(stack)
# orchestration.describe_stack_resources возвращает мало информации # orchestration.describe_stack_resources возвращает мало информации
list = compute.describe_instances( resources = compute.describe_instances(
'tag-key' => 'aws:cloudformation:stack-id', 'tag-key' => 'aws:cloudformation:stack-id',
'tag-value' => stack.id 'tag-value' => stack.id
).body["reservationSet"] ).body["reservationSet"]
list.map do |instance| instances = resources.map { |resource| resource["instancesSet"] }.flatten
info = instance["instancesSet"][0]
instance_logical_name = info["tagSet"]["Name"] || info['tagSet']['aws:cloudformation:logical-id'] instances.map do |instance|
logical_name = instance["tagSet"]["Name"] || instance['tagSet']['aws:cloudformation:logical-id']
{ {
# 'name' => info["tagSet"]["Name"], # 'name' => instance["tagSet"]["Name"],
'name' => [stack.name, instance_logical_name].join('-'), 'name' => [stack.name, logical_name].join('-'),
'id' => info["instanceId"], 'id' => instance["instanceId"],
'key_name' => info["keyName"], 'key_name' => instance["keyName"],
'private_ip' => info["privateIpAddress"], 'private_ip' => instance["privateIpAddress"],
'public_ip' => info["ipAddress"], 'public_ip' => instance["ipAddress"],
} }
end end
end end