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
nova.openstack.common.rpc.impl_kombu.
rpc_backend=nova.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
nova.conf to
nova.notifier.rabbit_notifier. The default
for sending usage data is 60 seconds plus a randomized 0-60 seconds.
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
nova.conf.
rpc_backend=nova.openstack.common.rpc.impl_qpid
This next critical option points the compute nodes to the
Qpid broker (server). Set
qpid_hostname in nova.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 Options 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
nova.conf.
Common Configuration for Messaging
This section lists options that are common between both the
RabbitMQ and Qpid
messaging drivers.