/usr/lib/python2.7/dist-packages/mistral-6.0.0.egg-info/PKG-INFO is in python-mistral 6.0.0-0ubuntu1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | Metadata-Version: 1.1
Name: mistral
Version: 6.0.0
Summary: Mistral Project
Home-page: https://docs.openstack.org/mistral/latest/
Author: OpenStack
Author-email: openstack-dev@lists.openstack.org
License: Apache License, Version 2.0
Description-Content-Type: UNKNOWN
Description: ========================
Team and repository tags
========================
.. image:: https://governance.openstack.org/tc/badges/mistral.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
Mistral
=======
Workflow Service for OpenStack cloud. This project aims to provide a mechanism
to define tasks and workflows without writing code, manage and execute them in
the cloud environment.
Installation
~~~~~~~~~~~~
The following are the steps to install Mistral on debian-based systems.
To install Mistral, you have to install the following prerequisites::
$ apt-get install python-dev python-setuptools libffi-dev \
libxslt1-dev libxml2-dev libyaml-dev libssl-dev
**Mistral can be used without authentication at all or it can work with
OpenStack.**
In case of OpenStack, it works **only with Keystone v3**, make sure **Keystone
v3** is installed.
Install Mistral
---------------
First of all, clone the repo and go to the repo directory::
$ git clone https://git.openstack.org/openstack/mistral.git
$ cd mistral
**Devstack installation**
Information about how to install Mistral with devstack can be found
`here <https://docs.openstack.org/mistral/latest/contributor/devstack.html>`_.
Configuring Mistral
~~~~~~~~~~~~~~~~~~~
Mistral configuration is needed for getting it work correctly with and without
an OpenStack environment.
#. Install and configure a database which can be *MySQL* or *PostgreSQL*
(**SQLite can't be used in production.**). Here are the steps to connect
Mistral to a *MySQL* database.
* Make sure you have installed ``mysql-server`` package on your Mistral
machine.
* Install *MySQL driver* for python::
$ pip install mysql-python
or, if you work in virtualenv, run::
$ tox -evenv -- pip install mysql-python
NOTE: If you're using Python 3 then you need to install ``mysqlclient``
instead of ``mysql-python``.
* Create the database and grant privileges::
$ mysql -u root -p
mysql> CREATE DATABASE mistral;
mysql> USE mistral
mysql> GRANT ALL PRIVILEGES ON mistral.* TO 'mistral'@'localhost' \
IDENTIFIED BY 'MISTRAL_DBPASS';
mysql> GRANT ALL PRIVILEGES ON mistral.* TO 'mistral'@'%' IDENTIFIED BY 'MISTRAL_DBPASS';
#. Generate ``mistral.conf`` file::
$ oslo-config-generator --config-file tools/config/config-generator.mistral.conf \
--output-file etc/mistral.conf.sample
#. Copy service configuration files::
$ sudo mkdir /etc/mistral
$ sudo chown `whoami` /etc/mistral
$ cp etc/event_definitions.yml.sample /etc/mistral/event_definitions.yml
$ cp etc/logging.conf.sample /etc/mistral/logging.conf
$ cp etc/policy.json /etc/mistral/policy.json
$ cp etc/wf_trace_logging.conf.sample /etc/mistral/wf_trace_logging.conf
$ cp etc/mistral.conf.sample /etc/mistral/mistral.conf
#. Edit file ``/etc/mistral/mistral.conf`` according to your setup. Pay attention
to the following sections and options::
[oslo_messaging_rabbit]
rabbit_host = <RABBIT_HOST>
rabbit_userid = <RABBIT_USERID>
rabbit_password = <RABBIT_PASSWORD>
[database]
# Use the following line if *PostgreSQL* is used
# connection = postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5432/mistral
connection = mysql://<DB_USER>:<DB_PASSWORD>@localhost:3306/mistral
#. If you are not using OpenStack, add the following entry to the
``/etc/mistral/mistral.conf`` file and **skip the following steps**::
[pecan]
auth_enable = False
#. Provide valid keystone auth properties::
[keystone_authtoken]
auth_uri = http://keystone-host:port/v3
auth_url = http://keystone-host:port
auth_type = password
username = <user>
password = <password>
user_domain_name = <usually 'Default'>
project_name = <project name>
project_domain_name = <usually 'Default'>
#. Register Mistral service and Mistral endpoints on Keystone::
$ MISTRAL_URL="http://[host]:[port]/v2"
$ openstack service create --name mistral workflowv2
$ openstack endpoint create mistral public $MISTRAL_URL
$ openstack endpoint create mistral internal $MISTRAL_URL
$ openstack endpoint create mistral admin $MISTRAL_URL
#. Update the ``mistral/actions/openstack/mapping.json`` file which contains
all available OpenStack actions, according to the specific client versions
of OpenStack projects in your deployment. Please find more detailed
information in the ``tools/get_action_list.py`` script.
Before the First Run
--------------------
After local installation you will find the commands ``mistral-server`` and
``mistral-db-manage`` available in your environment. The ``mistral-db-manage``
command can be used for migrating database schema versions. If Mistral is not
installed in system then this script can be found at
``mistral/db/sqlalchemy/migration/cli.py``, it can be executed using Python
command line.
To update the database schema to the latest revision, type::
$ mistral-db-manage --config-file <path_to_config> upgrade head
To populate the database with standard actions and workflows, type::
$ mistral-db-manage --config-file <path_to_config> populate
For more detailed information about ``mistral-db-manage`` script please check
file ``mistral/db/sqlalchemy/migration/alembic_migrations/README.md``.
Running Mistral API server
--------------------------
To run Mistral API server::
$ tox -evenv -- python mistral/cmd/launch.py --server api --config-file <path_to_config>
Running Mistral Engines
-----------------------
To run Mistral Engine::
$ tox -evenv -- python mistral/cmd/launch.py --server engine --config-file <path_to_config>
Running Mistral Task Executors
------------------------------
To run Mistral Task Executor instance::
$ 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 in order for workflow tasks to be processed by Mistral.
If you want to run some tasks on specific executor, the *task affinity* feature
can be used to send these tasks directly to a specific executor. You can edit
the following property in your mistral configuration file for this purpose::
[executor]
host = my_favorite_executor
After changing this option, you will need to start (restart) the executor. Use
the ``target`` property of a task to specify the executor::
... Workflow YAML ...
task1:
...
target: my_favorite_executor
... Workflow YAML ...
Running Multiple Mistral Servers Under the Same Process
-------------------------------------------------------
To run more than one server (API, Engine, or Task Executor) on the same
process::
$ tox -evenv -- python mistral/cmd/launch.py --server api,engine --config-file <path_to_config>
The value for the ``--server`` option can be a comma-delimited list. The valid
options are ``all`` (which is the 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 configuration file should only be used if ``all`` Mistral
servers are launched on the same process. Otherwise, messages do not get
delivered because the ``fake`` transport is using an in-process queue.
Project Goals 2018
------------------
#. **Complete Mistral documentation**.
Mistral documentation should be more usable. It requires focused work to
make it well structured, eliminate gaps in API/Mistral Workflow Language
specifications, add more examples and tutorials.
*Definition of done*:
All capabilities are covered, all documentation topics are written using
the same style and structure principles. The obvious sub-goal of this goal
is to establish these principles.
#. **Finish Mistral multi-node mode**.
Mistral needs to be proven to work reliably in multi-node mode. In order
to achieve it we need to make a number of engine, executor and RPC
changes and configure a CI gate to run stress tests on multi-node Mistral.
*Definition of done*:
CI gate supports MySQL, all critically important functionality (join,
with-items, parallel workflows, sequential workflows) is covered by tests.
Project Resources
-----------------
* `Mistral Official Documentation <https://docs.openstack.org/mistral/latest/>`_
* Project status, bugs, and blueprints are tracked on
`Launchpad <https://launchpad.net/mistral/>`_
* Additional resources are linked from the project
`Wiki <https://wiki.openstack.org/wiki/Mistral/>`_ page
* Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
|