Executing the tripleo-validations 'group-validations' they fail with (This change only affects latest master, but hould be backported):
How to reproduce:
(undercloud) [stack@undercloud tripleo-common]$ openstack workflow execution create -f value -c ID tripleo.validations.v1.run_groups '{"group_names": ["pre-upgrade"]}'
0388cbe6-2691-4d1e-a141-a9965780fff2
(undercloud) [stack@undercloud tripleo-common]$ mistral execution-get 0388cbe6-2691-4d1e-a141-a9965780fff2
Output:
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+--------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ID | b1a75281-88e0-4938-b5c9-0babf9cfc046 |
| Workflow ID | d87c7e95-c4fc-431b-9d1b-cfde1b558a44 |
| Workflow name | tripleo.validations.v1.run_groups |
| Workflow namespace | |
| Description | |
| Task Execution ID | |
| State | ERROR |
| State info | Failed to run task [error=Can not evaluate YAQL expression [expression=$.validation_name, error=u'validation_name', data={}], wf=tripleo.validations.v1.run_groups, task=notify_running]: |
| | Traceback (most recent call last): |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/task_handler.py", line 63, in run_task |
| | task.run() |
| | File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 158, in wrapper |
| | result = f(*args, **kwargs) |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/tasks.py", line 390, in run |
| | self._run_new() |
| | File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 158, in wrapper |
| | result = f(*args, **kwargs) |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/tasks.py", line 419, in _run_new |
| | self._schedule_actions() |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/tasks.py", line 483, in _schedule_actions |
| | input_dict = self._get_action_input() |
| | File "/usr/lib/python2.7/site-packages/osprofiler/profiler.py", line 158, in wrapper |
| | result = f(*args, **kwargs) |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/tasks.py", line 514, in _get_action_input |
| | input_dict = self._evaluate_expression(self.task_spec.get_input(), ctx) |
| | File "/usr/lib/python2.7/site-packages/mistral/engine/tasks.py", line 540, in _evaluate_expression |
| | ctx_view |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/init.py", line 100, in evaluate_recursively |
| | data[key] = _evaluate_item(data[key], context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/init.py", line 89, in _evaluate_item |
| | return evaluate_recursively(item, context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/init.py", line 100, in evaluate_recursively |
| | data[key] = _evaluate_item(data[key], context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/init.py", line 79, in _evaluate_item |
| | return evaluate(item, context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/init.py", line 71, in evaluate |
| | return evaluator.evaluate(expression, context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/yaql_expression.py", line 159, in evaluate |
| | cls).evaluate(trim_expr, data_context) |
| | File "/usr/lib/python2.7/site-packages/mistral/expressions/yaql_expression.py", line 113, in evaluate |
| | ", data=%s]" % (expression, str(e), data_context) |
| | YaqlEvaluationException: Can not evaluate YAQL expression [expression=$.validation_name, error=u'validation_name', data={}] |
| | |
| Created at | 2018-07-09 14:56:08 |
| Updated at | 2018-07-09 14:56:09 |
+--------------------+---------------
Basically, there are variables not defined and referenced breaking the execution of the workflow.
Fix proposed: https:/ /review. openstack. org/#/c/ 581054/