Difference between revisions of "Mistral/Design"
< Mistral
(Created page with "=== Design === There is no final decision on the service design. It is actively discussed in mailing lists, IRC #openstack-mistral and etherpads: * https://etherpad.openstack....") |
(→Design) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | === | + | == Design == |
+ | === Basic Architecture === | ||
+ | [[File:Mistral-Architecture-BigPicture.png|600px|center|Mistral Architecture, big picture]] | ||
+ | * Engine - handle control and data flow of workflow executions. Computes which tasks are ready and places them in a queue. Passes the data from task to task, deals with condition transitions, etc. Passes Key concepts of Mistral Engine design explained here: https://wiki.openstack.org/wiki/Mistral/POC | ||
+ | * Task Executors - execute task Actions. Pick up the tasks from the queue, run actions, and send results back to the engine. | ||
+ | * API server - exposes REST API to operate and monitor workflow executions. | ||
+ | * Scheduler - triggers workflows on events (e.g., periodic cron event) | ||
+ | * Persistence - stores workflow definitions, current execution states, and past execution results. | ||
+ | === Discussion === | ||
There is no final decision on the service design. It is actively discussed in mailing lists, IRC #openstack-mistral and etherpads: | There is no final decision on the service design. It is actively discussed in mailing lists, IRC #openstack-mistral and etherpads: | ||
* https://etherpad.openstack.org/p/MistralDesignAndDependencies | * https://etherpad.openstack.org/p/MistralDesignAndDependencies |
Latest revision as of 20:44, 27 March 2014
Design
Basic Architecture
- Engine - handle control and data flow of workflow executions. Computes which tasks are ready and places them in a queue. Passes the data from task to task, deals with condition transitions, etc. Passes Key concepts of Mistral Engine design explained here: https://wiki.openstack.org/wiki/Mistral/POC
- Task Executors - execute task Actions. Pick up the tasks from the queue, run actions, and send results back to the engine.
- API server - exposes REST API to operate and monitor workflow executions.
- Scheduler - triggers workflows on events (e.g., periodic cron event)
- Persistence - stores workflow definitions, current execution states, and past execution results.
Discussion
There is no final decision on the service design. It is actively discussed in mailing lists, IRC #openstack-mistral and etherpads:
- https://etherpad.openstack.org/p/MistralDesignAndDependencies
- https://etherpad.openstack.org/p/TaskFlowAndMistral
- https://etherpad.openstack.org/p/MistralQuestionsBeforeImplementation
- https://etherpad.openstack.org/p/MistralRoadmap
- https://etherpad.openstack.org/p/TaskServiceDesign
- https://etherpad.openstack.org/p/MistralAPISpecification
- https://etherpad.openstack.org/p/MistralDSLSpecification