Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.75 KB

File metadata and controls

50 lines (35 loc) · 1.75 KB

Coordination

Coordination backend is required to support workflows with multiple branches or tasks with items and actions with concurrency policies defined.

StackStorm utilizes the OpenStack Tooz library for communicating with the coordination backend. The coordination backend must support the Locking functionality as defined by the Tooz interface. Please refrence the OpenStack Tooz compatability page for more information what interfaces are implemented by various backends.

The following is a list of backends that can be configured for the coordination service. For the full list of the supported backends and how to configure them, please visit OpenStack Tooz documentation.

  • Redis
  • Zookeeper
  • consul
  • etcd
  • file (for testing when all the services are running on a single host)

The configuration of the coordination service is done in the coordination section of /etc/st2/st2.conf. The following are configuration examples for Redis and Zookeeper.

Redis:

[coordination]
url = redis://:password@host:port

ZooKeeper:

[coordination]
url = kazoo://username:password@host:port

Some of these coordination backends also require corresponding client libraries to be installed in |st2| virtualenv. Since |st2| v3.5 the redis client libraries are included with the st2 package, but for all other versions or coordination backends, we do not ship these libraries by default. As an example, to install the client library in |st2| virtualenv, run:

sudo su

# Example when using consul backend
/opt/stackstorm/st2/bin/pip install consul