Is it possible to use Zookeeper instead of etcd when we deploy Stackstorm?

(Naveen565p) #1

We are in the process of determining the deployment process for using stackstorm. We wanted to know if we can use zookeeper instead of etcd for stackstorm deployment ? We already have a zookeeper instance deployed in production and we would want to reuse the same if possible.

If it is possible to do so , could anybody please share the documentation on how that can be achieved ?

(Tomaz Muraus) #2

It is.

We use OpenStack tooz (https://docs.openstack.org/tooz/latest/) library which also supports ZooKeeper driver.

To configure it, you need to set coordination.url configuration option in /etc/st2/st2.conf to point to your ZooKeeper instance.

For example:

[coordination]
url = kazoo://127.0.0.1:2181

See tooz/zookeeper.py at master · openstack/tooz · GitHub for details and additional configuration options.

In addition to that, you need to install kazoo Python library inside StackStorm virtual environment:

/opt/stackstorm/st2/bin/pip install kazoo
sudo st2ctl restart

(Daniel Jay Haskin) #3

We use zookeeper in production rather than etcd as a coordination server. It seems to work very well with the tooz library used within StackStorm.