diff options
author | Steven Hardy <shardy@redhat.com> | 2017-06-28 21:41:29 +0100 |
---|---|---|
committer | Steven Hardy <shardy@redhat.com> | 2017-06-29 10:32:07 +0100 |
commit | afbbbdc894da2f9ce18d62fd457b2077745b4b3b (patch) | |
tree | 51cffadaff430fecfae86b73d5bf7c08b5228b4e /overcloud.j2.yaml | |
parent | 9ac589295f199133df8192d67cfe10f011ef08dd (diff) |
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
Diffstat (limited to 'overcloud.j2.yaml')
-rw-r--r-- | overcloud.j2.yaml | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index 1848e09a..56a10a52 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -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]} |