aboutsummaryrefslogtreecommitdiffstats
path: root/overcloud.j2.yaml
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2017-06-28 21:41:29 +0100
committerSteven Hardy <shardy@redhat.com>2017-06-29 10:32:07 +0100
commitafbbbdc894da2f9ce18d62fd457b2077745b4b3b (patch)
tree51cffadaff430fecfae86b73d5bf7c08b5228b4e /overcloud.j2.yaml
parent9ac589295f199133df8192d67cfe10f011ef08dd (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.yaml18
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]}