Closed lampwins closed 7 years ago
On st2 v2.3, I'm unable to reproduce this issue. I put together two separate workflows, posted below. In both cases, the Jinja evaluation error is reported back to st2 as failure.
version: '2.0'
examples.mistral-jinja-test-error:
description: A basic workflow for testing Jinja evaluation error. The workflow should error properly.
type: direct
tasks:
task1:
action: core.local
input:
cmd: "echo {{ _.IDontExist }}"
vagrant@arkham:~/st2$ st2 run examples.mistral-jinja-test-error -a
To get the results, execute:
st2 execution get 596fa8431e2e240d31944201
vagrant@arkham:~/st2$ st2 execution get 596fa8431e2e240d31944201
id: 596fa8431e2e240d31944201
action.ref: examples.mistral-jinja-test-error
parameters: None
status: failed (1s elapsed)
start_timestamp: 2017-07-19T18:43:15.966727Z
end_timestamp: 2017-07-19T18:43:16.425031Z
result:
error: 'RemoteError: Remote error: UndefinedError ''mistral.workflow.data_flow.ContextView object'' has no attribute ''IDontExist''
version: '2.0'
examples.mistral-jinja-test-publish-error:
description: A basic workflow for testing Jinja evaluation error. The workflow should error properly.
type: direct
tasks:
task1:
action: core.local
input:
cmd: "echo 'all your base are belong to us'"
publish:
var1: "{{ _.IDontExist }}"
Please note status: failed
below. You'll have to use st2 execution get <id> -dj
to get the reason though.
vagrant@arkham:~/st2$ st2 execution get 596fa8581e2e240d31944204
id: 596fa8581e2e240d31944204
action.ref: examples.mistral-jinja-test-publish-error
parameters: None
status: failed (6s elapsed)
result_task: task1
result:
failed: false
return_code: 0
stderr: ''
stdout: all your base are belong to us
succeeded: true
start_timestamp: 2017-07-19T18:43:36.332119Z
end_timestamp: 2017-07-19T18:43:42.080302Z
+--------------------------+------------------------+-------+------------+-----------------+
| id | status | task | action | start_timestamp |
+--------------------------+------------------------+-------+------------+-----------------+
| 596fa8581e2e240d31944207 | succeeded (1s elapsed) | task1 | core.local | Wed, 19 Jul |
| | | | | 2017 18:43:36 |
| | | | | UTC |
+--------------------------+------------------------+-------+------------+-----------------+
I'm going to close this issue as it's not reproducible. If you come across this problem again, please feel free to open the issue again with more information (WF definition, execution details) so we can reproduce it. Thanks.
st2: 2.2.1 mistral: 2.2.1 python: 2.7.12
When using jinja to access a published var that does not exist,
UndefinedError: 'mistral.workflow.data_flow.ContextView object' has no attribute '<var_name>'
is not reported back to ST2 and the mistral action gets stuck in an RUNNING state. Switching the statement to YAQL reports an error and the task fails within ST2. Below is the error output discovered in/var/log/mistral/mistral-server.log