<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div apple-content-edited="true"><div><br></div></div><div><div>On 25 Jun 2014, at 07:27, Dmitri Zimine <<a href="mailto:dzimine@stackstorm.com">dzimine@stackstorm.com</a>> wrote:</div><br><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div>* We must convey the action ERROR details back to the engine, and to the end user. Log is not sufficient. How exactly? Via context? Via extra parameters to convey_execution_results? Need a field in the model.</div><div><a href="https://github.com/stackforge/mistral/blob/master/mistral/engine/drivers/default/executor.py#L46-L59">https://github.com/stackforge/mistral/blob/master/mistral/engine/drivers/default/executor.py#L46-L59</a></div></div></div></blockquote><div><br></div><div>This is a subject for upcoming refactoring. IMO task error should generally be a special case of result. Most likely, we’ll need to have a class Result encapsulating all needed information rather than just always thinking of result as of JSON.</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><div>* What is the reason to update status on task failure in handle_task_error via direct DB access, not via convey_task_results? </div><div><a href="https://github.com/stackforge/mistral/blob/master/mistral/engine/drivers/default/executor.py#L61">https://github.com/stackforge/mistral/blob/master/mistral/engine/drivers/default/executor.py#L61</a> Bypassing convey_task_results can cause grief from missing TRACE statements to more serious stuff… And looks like we are failing the whole execution there? Just because one action had failed? Please clarify the intend here. Note: details may all go away while doing Refine Engine <-> Executor protocol blueprint <a href="https://blueprints.launchpad.net/mistral/+spec/mistral-engine-executor-protocol">https://blueprints.launchpad.net/mistral/+spec/mistral-engine-executor-protocol</a>, we just need to clarify the intent</div></div></div></blockquote><br></div><div>That was an initial design (that didn’t take lots of things into account). I agree this is all bad. Particularly, we can’t fail the whole execution at once.</div><div><br></div><div><div>Renat Akhmerov</div><div>@ Mirantis Inc.</div><div><br></div></div><br></body></html>