Comment 2 for bug 1620949

Revision history for this message
Julie Pichon (jpichon) wrote :

In this example the error comes from Ironic and is then passed through to the set_node_state workflow, then to the provide workflow. It makes it difficult to handle from the workflow directly, as sending the sub-task result directly seems to fail depending on the type/number of errors, which workflow it actually comes from or if there's a mix of success and failures ("YaqlEvaluationException: Can not evaluate YAQL expression: task(set_nodes_available).result.result"). I might try some super simple string parsing to shorten it to the last element of the message anyway...

$ openstack overcloud node provide 45dda8e9-f553-4301-ab0e-5c465a425136
Failed to set nodes to available state:
 IronicAction.node.set_provision_state failed: <class 'ironicclient.common.apiclient.exceptions.BadRequest'>: The requested action "provide" can not be performed on node "45dda8e9-f553-4301-ab0e-5c465a425136" while it is in state "available".

I tentatively opened https://bugs.launchpad.net/mistral/+bug/1621418 so perhaps we can handle this more gracefully and directly in the workflow in the future.