Add ServerIdMap output

This exposes the nova server IDs for each role, and the bootstrap node
so that we can add this data to the tripleo dynamic ansible inventory

Change-Id: I2fc48eec77210805c0139fa4abcbf4dd721e7c37
This commit is contained in:
Steven Hardy 2017-06-28 21:41:29 +01:00
parent 9ac589295f
commit afbbbdc894
1 changed files with 18 additions and 0 deletions

View File

@ -462,6 +462,21 @@ resources:
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
{% endfor %}
# This is a different format to *Servers, as it creates a map of lists
# whereas *Servers creates a map of maps with keys of the nested resource names
ServerIdMap:
type: OS::Heat::Value
properties:
value:
server_ids:
{% for role in roles %}
{{role.name}}: {get_attr: [{{role.name}}, nova_server_resource]}
{% endfor %}
bootstrap_server_id:
yaql:
expression: coalesce($.data, []).first(null)
data: {get_attr: [{{primary_role_name}}, nova_server_resource]}
# This resource just creates a dict out of the DeploymentServerBlacklist,
# which is a list. The dict is used in the role templates to set a condition
# on whether to create the deployment resources. We can't use the list
@ -825,3 +840,6 @@ outputs:
map_merge:
- {get_attr: [VipMap, net_ip_map]}
- redis: {get_attr: [RedisVirtualIP, ip_address]}
ServerIdData:
description: Mapping of each role to a list of nova server IDs and the bootstrap ID
value: {get_attr: [ServerIdMap, value]}