From 9106ddee3276f0fa0c5d196ded2fa20fb9cd950d Mon Sep 17 00:00:00 2001 From: Luca Lorenzetto Date: Fri, 17 Mar 2017 09:29:41 +0100 Subject: [PATCH] Pick dynamically the first node for stack validation When replacing the controller node with resource id 0, AllNodesValidation will fail because there is an hardcoded reference to resource.0. With this commit the id for validation is extracted dynamically with yaql query, picking the first available. Thanks to Steven Hardy for pointing to the right direction. Change-Id: I8f2bfacbc005d948bd31ebd51c3d3df3182d5a3c Closes-Bug: #1673439 (cherry picked from commit d385fc38b22b204414e04ba1962d7c6add262f1d) --- overcloud.j2.yaml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index 1778c3d365..67503ed6df 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -503,12 +503,24 @@ resources: PingTestIps: list_join: - ' ' - - - {get_attr: [Controller, resource.0.external_ip_address]} - - {get_attr: [Controller, resource.0.internal_api_ip_address]} - - {get_attr: [Controller, resource.0.storage_ip_address]} - - {get_attr: [Controller, resource.0.storage_mgmt_ip_address]} - - {get_attr: [Controller, resource.0.tenant_ip_address]} - - {get_attr: [Controller, resource.0.management_ip_address]} + - - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, external_ip_address]} + - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, internal_api_ip_address]} + - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, storage_ip_address]} + - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, storage_mgmt_ip_address]} + - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, tenant_ip_address]} + - yaql: + expression: coalesce($.data, []).first(null) + data: {get_attr: [Controller, management_ip_address]} UpdateWorkflow: type: OS::TripleO::Tasks::UpdateWorkflow