Difference between revisions of "Mistral/DSLv2"
< Mistral
Line 6: | Line 6: | ||
==== Workflow Types ==== | ==== Workflow Types ==== | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== Common Workflow Attributes ==== | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== Tasks ==== | ||
+ | |||
+ | TODO | ||
+ | |||
+ | ==== Common Task Attributes ==== | ||
+ | |||
+ | * '''action''' - name of action to run | ||
+ | * '''workflow''' - name of workflow to run | ||
+ | * '''input''' - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context | ||
==== Direct Workflow ==== | ==== Direct Workflow ==== | ||
+ | |||
+ | TODO | ||
===== Attributes ===== | ===== Attributes ===== | ||
Line 13: | Line 31: | ||
* '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow. | * '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow. | ||
− | ===== Direct Workflow Task ===== | + | ===== Direct Workflow Task Attributes ===== |
− | + | TODO | |
− | |||
− | |||
− | |||
− | |||
− | |||
* '''on-success''' - task which will be scheduled on execution after current task has finished with state 'SUCCESS' | * '''on-success''' - task which will be scheduled on execution after current task has finished with state 'SUCCESS' | ||
* '''on-error''' - task which will be scheduled on execution after current task has finished with state 'ERROR' | * '''on-error''' - task which will be scheduled on execution after current task has finished with state 'ERROR' | ||
* '''on-finish''' - task which will be scheduled on execution after current task has finished | * '''on-finish''' - task which will be scheduled on execution after current task has finished | ||
− | ===== YAML example | + | ===== Direct Workflow YAML example ===== |
'''TODO''' | '''TODO''' | ||
Line 36: | Line 49: | ||
* '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow. | * '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow. | ||
− | ===== Reverse Workflow Task ===== | + | ===== Reverse Workflow Task Attributes ===== |
− | + | '''TODO''' | |
− | |||
− | |||
− | |||
− | |||
* '''requires''' - list of tasks which should be execute before this tasks, or list of task names as a keys and condition as a value, this is optional parameter | * '''requires''' - list of tasks which should be execute before this tasks, or list of task names as a keys and condition as a value, this is optional parameter | ||
− | |||
− | ===== YAML example | + | ===== Reverse Workflow YAML example ===== |
'''TODO''' | '''TODO''' | ||
Line 53: | Line 61: | ||
=== Actions === | === Actions === | ||
− | TODO | + | '''TODO''': Mention system and ad-hoc actions |
==== Attributes ==== | ==== Attributes ==== | ||
Line 63: | Line 71: | ||
* '''output''' - any data structure defining how to transform the output of base action into the output of this action. I can optionally have YAQL expressions to access properties of base action output. (See more about YAQL at https://pypi.python.org/pypi/yaql/0.3) | * '''output''' - any data structure defining how to transform the output of base action into the output of this action. I can optionally have YAQL expressions to access properties of base action output. (See more about YAQL at https://pypi.python.org/pypi/yaql/0.3) | ||
− | ==== YAML example | + | ==== YAML example ==== |
'''TODO''' | '''TODO''' | ||
Line 77: | Line 85: | ||
'''TODO''' | '''TODO''' | ||
− | ==== YAML example | + | ==== YAML example ==== |
'''TODO''' | '''TODO''' | ||
Line 89: | Line 97: | ||
'''TODO''' | '''TODO''' | ||
− | ==== YAML example | + | ==== Workbook YAML example ==== |
'''TODO''' | '''TODO''' |
Revision as of 20:36, 23 September 2014
Contents
Mistral DSL version 2 specification
Workflows
TODO
Workflow Types
TODO
Common Workflow Attributes
TODO
Tasks
TODO
Common Task Attributes
- action - name of action to run
- workflow - name of workflow to run
- input - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context
Direct Workflow
TODO
Attributes
- tasks - list of tasks in this workflow, each task represents a computational step in the workflow.
Direct Workflow Task Attributes
TODO
- on-success - task which will be scheduled on execution after current task has finished with state 'SUCCESS'
- on-error - task which will be scheduled on execution after current task has finished with state 'ERROR'
- on-finish - task which will be scheduled on execution after current task has finished
Direct Workflow YAML example
TODO
Reverse Workflow
Attributes
- tasks - list of tasks in this workflow, each task represents a computational step in the workflow.
Reverse Workflow Task Attributes
TODO
- requires - list of tasks which should be execute before this tasks, or list of task names as a keys and condition as a value, this is optional parameter
Reverse Workflow YAML example
TODO
Actions
TODO: Mention system and ad-hoc actions
Attributes
- name - action name (string without space, mandatory attribute).
- base - name of base action that this action is built on top of.
- base-input - dictionary whose structure is defined by action class. For example, for 'std.http' action it contains 'url', 'method', 'body' and 'headers' according to HTTP protocol specification.
- input - list containing parameter names which should or could be specified in task. This attribute is optional and used only for documenting purposes.
- output - any data structure defining how to transform the output of base action into the output of this action. I can optionally have YAQL expressions to access properties of base action output. (See more about YAQL at https://pypi.python.org/pypi/yaql/0.3)
YAML example
TODO
Triggers
NOTE: Triggers are implemented as part of version 0.1.0, they will be included into 0.2.0
Using triggers it is possible to run workflows according to specific rules: periodically setting a cron (http://en.wikipedia.org/wiki/Cron) pattern or on external events like ceilometer alarm.
Attributes
TODO
YAML example
TODO
Workbooks
TODO
Attributes
TODO
Workbook YAML example
TODO