Workflow Service for OpenStack.
Go to file
Winson Chan 2b1a2ea7d9 Allow launch script to start any combination of servers
Currently, the launch options are only all, api, engine, and
executor. We want to allow launch options to start any combination
of servers such as api and engine or engine and executor. The
launch script is modified to the --server command line option to
accept a comma delimited list.

Change-Id: I4ce31f5fabd4de3b2f8f0e4c5ef661ed4ec7e5b2
Implements: blueprint mistral-launch-options
2014-05-15 07:59:28 -07:00
contrib/devstack Added Devstack integration 2014-04-29 15:24:23 +04:00
doc/source Add .gitreview, setup.py and other infrastructure. 2013-11-01 02:57:27 +07:00
etc Allow launch script to start any combination of servers 2014-05-15 07:59:28 -07:00
functionaltests Merge "Fix issue with tempest tests" 2014-05-15 09:26:55 +00:00
mistral Allow launch script to start any combination of servers 2014-05-15 07:59:28 -07:00
scripts Engine as a standalone process 2014-04-24 17:46:05 -07:00
tools Fix mistral tests 2014-05-06 12:36:22 +04:00
.gitignore Adding all conf files in etc/ to .gitignore 2014-04-24 12:45:45 +07:00
.gitreview Add .gitreview, setup.py and other infrastructure. 2013-11-01 02:57:27 +07:00
.pylintrc Add .gitreview, setup.py and other infrastructure. 2013-11-01 02:57:27 +07:00
AUTHORS Adding license and authors file 2013-12-30 13:11:49 +07:00
LICENSE Adding license and authors file 2013-12-30 13:11:49 +07:00
README.rst Allow launch script to start any combination of servers 2014-05-15 07:59:28 -07:00
openstack-common.conf Added periodic events 2013-12-05 19:01:22 +04:00
requirements.txt Fixes list of requirements 2014-04-30 10:51:14 +04:00
setup.cfg Merge "Refactor engine to use plugins" 2014-05-06 05:07:07 +00:00
setup.py Fixed issue with tarballs 2014-04-30 18:12:55 +04:00
test-requirements.txt Adding REST API application skeleton based on pecan/wsme 2013-11-27 19:34:43 +07:00
tox.ini Fixing flak8 excludes in tox.ini 2013-12-30 21:19:01 +07:00

README.rst

Mistral

Task Orchestration and Scheduling service for OpenStack cloud

Installation

First of all, in a shell run:

tox

This will install necessary virtual environments and run all the project tests. Installing virtual environments may take significant time (~10-15 mins).

Running Mistral API server

To run Mistral API server perform the following command in a shell:

tox -evenv -- python mistral/cmd/launch.py --server api --config-file path_to_config*

Note that an example configuration file can be found in etc/mistral.conf.example.

Running Mistral Engines

To run Mistral Engine perform the following command in a shell:

tox -evenv -- python mistral/cmd/launch.py --server engine --config-file path_to_config*

Running Mistral Task Executors

To run Mistral Task Executor instance perform the following command in a shell:

tox -evenv -- python mistral/cmd/launch.py --server executor --config-file path_to_config

Note that at least one Engine instance and one Executor instance should be running so that workflow tasks are processed by Mistral.

Running Multiple Mistral Servers Under the Same Process

To run more than one server (API, Engine, or Task Executor) on the same process, perform the following command in a shell:

tox -evenv -- python mistral/cmd/launch.py --server api,engine --config-file path_to_config

The --server command line option can be a comma delimited list. The valid options are "all" (by default if not specified) or any combination of "api", "engine", and "executor". It's important to note that the "fake" transport for the rpc_backend defined in the config file should only be used if "all" the Mistral servers are launched on the same process. Otherwise, messages do not get delivered if the Mistral servers are launched on different processes because the "fake" transport is using an in process queue.

Debugging

To debug using a local engine and executor without dependencies such as RabbitMQ, create etc/mistral.conf with the following settings:

[DEFAULT]
rpc_backend = fake

[pecan]
auth_enable = False

and run in pdb, PyDev or PyCharm:

mistral/cmd/launch.py --server all --config-file etc/mistral.conf --use-debugger

Running examples

To run the examples find them in mistral-extra repository (https://github.com/stackforge/mistral-extra) and follow the instructions on each example.