Jump to: navigation, search

Difference between revisions of "Mistral/DSLv2"

 
(184 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Mistral DSL version 2 specification ==
+
== This Wiki is no longer maintained ==
  
=== Workflows ===
+
Please see the [https://docs.openstack.org/mistral/latest/user/wf_lang_v2.html Mistral Workflow language documentation].
 
 
TODO
 
 
 
==== Workflow Types ====
 
 
 
==== Direct Workflow ====
 
 
 
===== Attributes =====
 
 
 
* '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow.
 
 
 
===== YAML example: =====
 
 
 
TODO
 
 
 
===== Direct Workflow Task =====
 
 
 
Represents a step in workflow, for example 'TODO'
 
 
 
====== Attributes ======
 
 
 
* '''action''' - name of action to perform
 
* '''workflow''' - name of workflow to perform
 
* '''input''' - 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'''
 
 
 
==== Reverse Workflow ====
 
 
 
===== Attributes =====
 
 
 
* '''tasks''' - list of tasks in this workflow, each task represents a computational step in the workflow.
 
 
 
===== YAML example: =====
 
 
 
TODO
 
 
 
===== Reverse Workflow 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
 
* '''input''' - actual parameters for the task, each value can be either some number, string etc, or YAQL expression to retrieve value from task context
 
 
 
====== YAML example: ======
 
 
 
'''TODO'''
 
 
 
=== 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'''
 
 
 
=== 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'''
 
 
 
==== YAML example: ====
 
 
 
'''TODO'''
 

Latest revision as of 12:38, 6 March 2018

This Wiki is no longer maintained

Please see the Mistral Workflow language documentation.