RETIRED, further work has moved to Debian project infrastructure
Go to file
Renat Akhmerov 7b2c7c170e Working on "join": making "full join" work with conditional transitions
Change-Id: I465b80f261df56a7cb957522cac21841b9298ef5
2014-12-05 15:32:26 +06:00
contrib/devstack Update README files 2014-11-12 08:54:05 +04:00
doc Docs fix - small structure fix 2014-10-16 20:45:39 -07:00
etc Replace oslo-incubator's db with standalone oslo.db 2014-07-28 18:01:57 +07:00
functionaltests Move gate tests under mistral/tests 2014-08-15 11:14:59 +04:00
mistral Working on "join": making "full join" work with conditional transitions 2014-12-05 15:32:26 +06:00
resources Create standard workflows and actions 2014-10-10 12:46:40 +04:00
tools Create standard workflows and actions 2014-10-10 12:46:40 +04:00
.coveragerc Move tests to testr 2014-06-04 14:58:29 +04:00
.gitignore Move tests to testr 2014-06-04 14:58:29 +04: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
.testr.conf Move gate tests under mistral/tests 2014-08-15 11:14:59 +04:00
AUTHORS Updating AUTHORS file 2014-10-29 13:48:22 +03:00
LICENSE Adding license and authors file 2013-12-30 13:11:49 +07:00
openstack-common.conf Replace oslo-incubator's db with standalone oslo.db 2014-07-28 18:01:57 +07:00
README.rst Update README files 2014-11-12 08:54:05 +04:00
requirements.txt Use YAML text instead of JSON in HTTP body 2014-11-26 12:59:39 +03:00
run_functional_tests.sh Add script to run functional tests locally 2014-09-25 22:53:43 +00:00
run_tests.sh Use $(COMMAND) instead of COMMAND 2014-09-30 15:17:04 +02:00
setup.cfg Adding "std.fail" action that always throws ActionException 2014-12-04 15:05:18 +06:00
setup.py Fixed issue with tarballs 2014-04-30 18:12:55 +04:00
test-requirements.txt Add script to run functional tests locally 2014-09-25 22:53:43 +00:00
tox.ini Whitelist binary 'rm' in tox.ini 2014-10-08 10:51:04 +02:00

Mistral

Task Orchestration and Scheduling service for OpenStack cloud

Installation

Devstack installation

Information about how to install Mistral with devstack can be found here: https://github.com/stackforge/mistral/tree/master/contrib/devstack

Local 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).

Before the first run

Before starting Mistral server, run sync_db script.

tools/sync_db.sh --config-file path_to_config*

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.sample.

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.

Tests

There is an ability to run part of functional tests in non-openstack mode locally. To do this:

  1. set auth_enable=false in the mistral.conf and restart Mistral
  2. execute: ./run_functional_tests.sh

To run tests for only one version need to specify it: bash run_functional_tests.sh v1

More information about automated tests for Mistral can be found here: https://wiki.openstack.org/wiki/Mistral/Testing