It is necessary to install some specific system libs for installing Mistral. They can be installed on most popular operating system using their package manager (for Ubuntu - *apt*, for Fedora, CentOS - *yum*, for Mac OS - *brew* or *macports*).
The list of needed packages is shown below:
1.**python-dev**
2.**python-setuptools**
3.**python-pip**
4.**libffi-dev**
5.**libxslt1-dev (or libxslt-dev)**
6.**libxml2-dev**
7.**libyaml-dev**
8.**libssl-dev**
**Mistral can be used without authentication at all or it can works with OpenStack**
*In case of OpenStack, it works **only on Keystone v3**, make sure Keystone v3 is installed.*
This will install necessary virtual environments and run all the project tests. Installing virtual environments may take significant time (~10-15 mins).
6. Configure database. **SQLite can't be used in production.** Use *MySQL* or *PostreSQL* instead. Here are the steps how to connect *MySQL* DB to Mistral:
* Make sure you have installed **mysql-server** package on your Mistral machine.
Before starting Mistral server, run sync_db script. It prepares the DB, creates in it all standard actions and standard workflows which Mistral provides for all mistral users.
If it is needed to run some tasks on specific executor then *task affinity* feature can be used to send these tasks directly to this executor. In configuration file edit section "executor" *host* property:
[executor]
host = my_favorite_executor
Then start (restart) executor. Use *targets* task property to specify this executor:
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.