juju deploy openstack-zeromq
Discuss this charm
Share your thoughts on this charm with the community on discourse.
0mq Charm for OpenStack
The [0MQ lightweight|_zeromq] messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.
This charm enables broker-less messaging using 0MQ for the OpenStack charms using the OpenStack [Oslo Messaging library|_oslo.messaging].
This charm is deployed as part of an OpenStack cloud - for example:
juju deploy openstack-zeromq juju deploy redis-server juju add-relation openstack-zeromq redis-server juju add-relation openstack-zeromq nova-cloud-controller juju add-relation openstack-zeromq nova-compute
OpenStack topic endpoints are automatically registered into Redis for discovery across the cloud by OpenStack service daemons.
0mq is only supported with OpenStack Kilo or better; earlier versions of the 0mq support in OpenStack are either incomplete or have bugs.
By default, this charm must be deployed alongside Redis for topic discovery, however it can be configured to manage the list of topics via its peer relation:
juju set openstack-zeromq use-local-matchmaker=true
Note that this is only suitable for smaller deployments - all OpenStack service units will propagate topic endpoints via the peer relation, resulting in a large number of hook executions prior to topic configuration being complete in larger clouds.
The Oslo Messaging driver for 0mq is know to not work with Cinder multi-backend configurations.