[openstack-dev] [Mistral] Proposal for the Resume Feature

W Chan m4d.coder at gmail.com
Fri Mar 27 03:20:28 UTC 2015


We assume WF is in paused/errored state when 1) user manually pause the WF,
2) pause is specified on transition (on-condition(s) such as on-error), and
3) task errored.

The resume feature will support the following use cases.
1) User resumes WF from manual pause.
2) In the case of task failure, user fixed the problem manually outside of
Mistral, and user wants to re-run the failed task.
3) In the case of task failure, user fixed the problem manually outside of
Mistral, and user wants to resume from the next task.

Resuming from #1 should be straightforward.
Resuming from #2, user may want to change the inbound context.
Resuming from #3, users is required to manually provide the published vars
for the failed task(s).

In our offline discussion, there's ambiguity with on-error clause and
whether a task failure has already been addressed by the WF itself.  In
many cases, the on-error tasks may just be logging, email notification,
and/or other non-recovery procedures.  It's hard to determine that
automatically, so we let users decide where to resume the WF instead.
Mistral will let user resume a WF from specific point. The resume function
will determine the requirements needed to successfully resume.  If
requirements are not met, then resume returns an error saying what
requirements are missing.  In the case where there are failures in multiple
parallel branches, the requirements may include more than one tasks.  For
cases where user accidentally resume from an earlier task that is already
successfully completed, the resume function should detect that and throw an
exception.

Also, the current change to separate task from action execution should be
sufficient for traceability.

We also want to expose an endpoint to let users view context for a task.
This is to let user have a reference of the current task context to
determine the delta they need to change for a successful resume.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150327/247d9b99/attachment.html>


More information about the OpenStack-dev mailing list