diff options
author | 2016-11-10 15:07:35 +0000 | |
---|---|---|
committer | 2016-11-10 15:07:35 +0000 | |
commit | 977106ff5ee82f341f13b210cfe25ad31c87a7dc (patch) | |
tree | aaa047821e0987df8c2462de47bd5aa8ea88584c | |
parent | 2ad72b7e966378029fff5c597b0245d78c810095 (diff) | |
parent | 390292e59e230d575621133cbbfef0aad4bfb9e3 (diff) |
Merge "Select bootstrap node by list index not name"
-rw-r--r-- | overcloud.j2.yaml | 15 |
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 |