
Refactored engine to run as a standalone process. The engine is modified to use the RPC client/server design pattern from oslo.messaging. A new launch option is included to run the engine separately. The API server communicates with the engine via the RPC client. A pecan hook is used to pass a common client instance with appropriate transport configuration to the API. Change-Id: I9ca757aedad764fd38645a5b858800d69808bb95 Implements: blueprint mistral-engine-standalone-process
Mistral
Task Orchestration and Scheduling service for OpenStack cloud
Running in development mode
### 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.
### 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