Configuring the Oslo RPC Messaging System
OpenStack projects use an open standard for messaging middleware
known as AMQP. This messaging middleware enables the OpenStack
services which will exist across multiple servers to talk to each other.
OpenStack Oslo RPC supports three implementations of AMQP:
RabbitMQ,
Qpid, and
ZeroMQ
Configuration for RabbitMQ
OpenStack Oslo RPC uses RabbitMQ by
default. This section discusses the configuration options that are
relevant when RabbitMQ is used. The
rpc_backend option is not required as long as
RabbitMQ is the default messaging system.
However, if it is included the configuration, it must be set to
neutron.openstack.common.rpc.impl_kombu.
rpc_backend=neutron.openstack.common.rpc.impl_kombu
The following tables describe the rest of the options that
can be used when RabbitMQ is used
as the messaging system. You can configure the messaging
communication for different installation scenarios as well as
tune RabbitMQ's retries and the size of the RPC thread pool.
If you want to monitor notifications through RabbitMQ, you
must set the notification_driver option in
neutron.conf to
neutron.notifier.rabbit_notifier.
Configuration for Qpid
This section discusses the configuration options that are relevant
if Qpid is used as the messaging system for
OpenStack Oslo RPC. Qpid is not the default
messaging system, so it must be enabled by setting the
rpc_backend option in
neutron.conf.
rpc_backend=neutron.openstack.common.rpc.impl_qpid
This next critical option points the compute nodes to the
Qpid broker (server). Set
qpid_hostname in neutron.conf to
be the hostname where the broker is running.
The --qpid_hostname option accepts a value in
the form of either a hostname or an IP address.
qpid_hostname=hostname.example.com
If the Qpid broker is listening on a
port other than the AMQP default of 5672, you will
need to set the qpid_port option:
qpid_port=12345
If you configure the Qpid broker to
require authentication, you will need to add a username and password to
the configuration:
qpid_username=username
qpid_password=password
By default, TCP is used as the transport. If you would like to
enable SSL, set the qpid_protocol option:
qpid_protocol=ssl
The following table lists the rest of the options used by the Qpid
messaging driver for OpenStack Oslo RPC. It is not common that these
options are used.
Configuration for ZeroMQ
This section discusses the configuration options that are relevant
if ZeroMQ is used as the messaging system for
OpenStack Oslo RPC. ZeroMQ is not the default
messaging system, so it must be enabled by setting the
rpc_backend option in
neutron.conf.
Common Configuration for Messaging
This section lists options that are common between the
RabbitMQ, Qpid
and ZeroMq
messaging drivers.