Difference between revisions of "Mistral/DSLv2"
< Mistral
Line 3: | Line 3: | ||
=== Main objects === | === Main objects === | ||
− | * '''Actions'' | + | * '''Actions''' |
* '''Workflows''' | * '''Workflows''' | ||
− | * '''Tasks'' | + | * '''Tasks''' |
* '''Triggers''' | * '''Triggers''' | ||
* '''Triggers''' | * '''Triggers''' | ||
− | === | + | === Actions === |
TODO | TODO | ||
Line 23: | Line 23: | ||
==== YAML example: ==== | ==== YAML example: ==== | ||
− | TODO | + | '''TODO''' |
− | === | + | === Workflows === |
+ | TODO | ||
==== Attributes ==== | ==== Attributes ==== | ||
Line 42: | Line 43: | ||
* '''action''' - name of action to perform | * '''action''' - name of action to perform | ||
+ | * '''workflow''' - name of workflow to perform | ||
* '''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 | ||
* '''parameters''' - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context | * '''parameters''' - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context | ||
Line 50: | Line 52: | ||
===== YAML example: ===== | ===== YAML example: ===== | ||
− | + | '''TODO''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Triggers === | === Triggers === | ||
Line 66: | Line 60: | ||
==== Attributes ==== | ==== Attributes ==== | ||
− | + | '''TODO''' | |
− | |||
− | |||
==== YAML example: ==== | ==== YAML example: ==== | ||
− | + | '''TODO''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
=== Full YAML example: === | === Full YAML example: === | ||
− | + | '''TODO''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 20:12, 23 September 2014
Contents
Mistral DSL version 2 specification
Main objects
- Actions
- Workflows
- Tasks
- Triggers
- Triggers
Actions
TODO
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
Workflows
TODO
Attributes
- tasks - list of tasks in this workflow, each task represents a computational step in the workflow.
YAML example:
TODO
Task
Represents a step in workflow, for example 'TODO'
Attributes
- action - name of action to perform
- workflow - name of workflow to perform
- 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
- parameters - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context
- 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
YAML example:
TODO
Triggers
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
Full YAML example:
TODO