Fix engine error handling

Registered by Renat Akhmerov

Error handling model is not clear now because we may do TX rollback in situations when we should just change a corresponding execution object and commit a transaction. For example, YAQL errors in on-success/on-error clauses must not lead to TX rollback (it is fixed but requires more testing). So we need to find a unified approach for this.

Blueprint information

Status:
Complete
Approver:
Renat Akhmerov
Priority:
High
Drafter:
Renat Akhmerov
Direction:
Approved
Assignee:
Renat Akhmerov
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-2
Started by
Renat Akhmerov
Completed by
Renat Akhmerov

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/mistral-engine-error-handling,n,z

Addressed by: https://review.openstack.org/313257
    Fixing engine facade hierarchy

Addressed by: https://review.openstack.org/313509
    Refactoring exception hierarchy

Addressed by: https://review.openstack.org/317879
    WIP: engine refactoring

Gerrit topic: https://review.openstack.org/#q,topic:bug/1484521,n,z

Addressed by: https://review.openstack.org/323697
    Refactoring workflow handler

Addressed by: https://review.openstack.org/326823
    Add explicit preconditions for methods of Action, Task and Workflow

Addressed by: https://review.openstack.org/326963
    Removing redundant wf_ex_id parameter for rerun across the code

Addressed by: https://review.openstack.org/338856
    Add more tests for error handling

Addressed by: https://review.openstack.org/338869
    Add error handling tests: invalid workflow input, error in first task

Addressed by: https://review.openstack.org/339401
    Add proper error handling for task continuation

Addressed by: https://review.openstack.org/339413
    Add proper handling for implicit task completion

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.