Currently in Mistral-client There is support for only PROJECT_DOMAIN_NAME but in the latest release of OpenStack, there is an option PROJECT_DOMAIN_ID.This DOMAIN_ID option is evident in few cloud environments and not evident in other so it is better to give support for both DOMAIN_ID and DOMAIN_NAME. In Mistral Client though the option to use target_user_domain_name and target_project_domain_name are not used in the authentication. This commit is to use them. Added unit-testcases for the same and added few more for robustness. Closes-Bug: #1712545 Closes-Bug: #1712739 Change-Id: I64aa2ff3324ba770c1e3aabb6410cca91c793c15
Team and repository tags
Mistral
Mistral is a workflow service. Most business processes consist of multiple distinct interconnected steps that need to be executed in a particular order in a distributed environment. A user can describe such a process as a set of tasks and their transitions. After that, it is possible to upload such a description to Mistral, which will take care of state management, correct execution order, parallelism, synchronization and high availability.
Mistral also provides flexible task scheduling so that it can run a process according to a specified schedule (for example, every Sunday at 4.00pm) instead of running it immediately. In Mistral terminology such a set of tasks and relations between them is called a workflow.
Mistral client
Python client for Mistral REST API. Includes python library for Mistral API and Command Line Interface (CLI) library.
Installation
First of all, clone the repo and go to the repo directory:
$ git clone git://git.openstack.org/openstack/python-mistralclient.git
$ cd python-mistralclient
Then just run:
$ pip install -e .
or:
$ pip install -r requirements.txt
$ python setup.py install
Running Mistral client
If Mistral authentication is enabled, provide the information about OpenStack auth to environment variables. Type:
$ export OS_AUTH_URL=http://<Keystone_host>:5000/v2.0
$ export OS_USERNAME=admin
$ export OS_TENANT_NAME=tenant
$ export OS_PASSWORD=secret
$ export OS_MISTRAL_URL=http://<Mistral host>:8989/v2 (optional, by
default URL=http://localhost:8989/v2)
and in the case that you are authenticating against keystone over https:
$ export OS_CACERT=<path_to_ca_cert>
Note
In client, we can use both Keystone auth versions - v2.0 and v3. But server supports only v3.*
To make sure Mistral client works, type:
$ mistral workbook-list
You can see the list of available commands typing:
$ mistral --help
Useful Links
- PyPi - package installation
- Launchpad project - release management
- Blueprints - feature specifications
- Bugs - issue tracking
- Source
- Specs
- How to Contribute