From 8d38280ea24b7dc231d3cc38af14d2464d991c77 Mon Sep 17 00:00:00 2001 From: John Fulton Date: Fri, 2 Mar 2018 15:33:09 +0000 Subject: [PATCH] Include active nodes when matching nodes by profile When matching nodes by profile, consider nodes in either the 'active' or 'available' provisioning states. Unless nodes in the 'active' state are included, the derived parameters workflow fails on stack updates. Co-Authored-By: Alan Bishop Change-Id: I575d0c358b9efccdefddb26258839def43ebeafd Closes-Bug: #1752893 (cherry picked from commit 4820e11d1eb38e6a81ced0c9af38dff8a46e097e) (cherry picked from commit 8f93bfdf1f836d4f1f51a1a59c5b2938fe63cb8b) --- workbooks/baremetal.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/workbooks/baremetal.yaml b/workbooks/baremetal.yaml index 993df3322..987bb6caf 100644 --- a/workbooks/baremetal.yaml +++ b/workbooks/baremetal.yaml @@ -915,19 +915,30 @@ workflows: - tripleo-common-managed tasks: + get_active_nodes: + action: ironic.node_list maintenance=false provision_state='active' detail=true + on-success: get_available_nodes + on-error: set_status_failed_get_active_nodes + get_available_nodes: action: ironic.node_list maintenance=false provision_state='available' detail=true on-success: get_matching_nodes on-error: set_status_failed_get_available_nodes get_matching_nodes: - with-items: node in <% task(get_available_nodes).result %> + with-items: node in <% task(get_available_nodes).result + task(get_active_nodes).result %> action: tripleo.baremetal.get_profile node=<% $.node %> on-success: send_message on-error: set_status_failed_get_matching_nodes publish: matching_nodes: <% let(input_profile_name => $.profile) -> task(get_matching_nodes).result.where($.profile = $input_profile_name).uuid %> + set_status_failed_get_active_nodes: + on-success: send_message + publish: + status: FAILED + message: <% task(get_active_nodes).result %> + set_status_failed_get_available_nodes: on-success: send_message publish: