aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-11-10 15:07:35 +0000
committerGerrit Code Review <review@openstack.org>2016-11-10 15:07:35 +0000
commit977106ff5ee82f341f13b210cfe25ad31c87a7dc (patch)
treeaaa047821e0987df8c2462de47bd5aa8ea88584c
parent2ad72b7e966378029fff5c597b0245d78c810095 (diff)
parent390292e59e230d575621133cbbfef0aad4bfb9e3 (diff)
Merge "Select bootstrap node by list index not name"
-rw-r--r--overcloud.j2.yaml15
1 files changed, 13 insertions, 2 deletions
diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml
index 47c73f8e..874418f2 100644
--- a/overcloud.j2.yaml
+++ b/overcloud.j2.yaml
@@ -231,8 +231,19 @@ resources:
config: {get_attr: [allNodesConfig, config_id]}
servers: {get_attr: [{{role.name}}, attributes, nova_server_resource]}
input_values:
- bootstrap_nodeid: {get_attr: [{{role.name}}, resource.0.hostname]}
- bootstrap_nodeid_ip: {get_attr: [{{role.name}}, resource.0.ip_address]}
+ # Note we have to use yaql to look up the first hostname/ip in the
+ # list because heat path based attributes operate on the attribute
+ # inside the ResourceGroup, not the exposed list ref discussion in
+ # https://bugs.launchpad.net/heat/+bug/1640488
+ # The coalesce is needed because $.data is None during heat validation
+ bootstrap_nodeid:
+ yaql:
+ expression: coalesce($.data, []).first(null)
+ data: {get_attr: [{{role.name}}, hostname]}
+ bootstrap_nodeid_ip:
+ yaql:
+ expression: coalesce($.data, []).first(null)
+ data: {get_attr: [{{role.name}}, ip_address]}
{{role.name}}AllNodesValidationDeployment:
type: OS::Heat::StructuredDeployments