From 4820e11d1eb38e6a81ced0c9af38dff8a46e097e 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 --- workbooks/baremetal.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/workbooks/baremetal.yaml b/workbooks/baremetal.yaml index 3aff200be..fa88ca8ab 100644 --- a/workbooks/baremetal.yaml +++ b/workbooks/baremetal.yaml @@ -926,19 +926,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().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: