openstack zeromq #21

Description

The 0MQ lightweight 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 to the
OpenStack charms.

0mq Charm for OpenStack

Overview

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].

Usage

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.

Configuration

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.

Limitations

The Oslo Messaging driver for 0mq is know to not work with Cinder multi-backend configurations.

_zeromq: http://zeromq.com/ <<<<<
_oslo.messaging: http://wiki.opentack.org

Configuration

use-local-matchmaker
(boolean) By default, the ZeroMQ driver for OpenStack must be related to Redis for topic registration and discovery. . Enable this option for use in smaller deployments to avoid the requirement for Redis; however this make extensive use of the peer relation and does not scale well in larger environments.