Atom feed of this document
Juno -  Juno -  Juno -  Juno -  Juno -  Juno -  Juno -  Juno - 

 Configure the RPC messaging system

OpenStack projects use an open standard for messaging middleware known as AMQP. This messaging middleware enables the OpenStack services that run on multiple servers to talk to each other. OpenStack Trove RPC supports three implementations of AMQP: RabbitMQ, Qpid, and ZeroMQ.

 Configure RabbitMQ

Use these options to configure the RabbitMQ messaging system:

Table 4.30. Description of RabbitMQ configuration options
Configuration option = Default value Description
kombu_ssl_ca_certs = (StrOpt) SSL certification authority file (valid only if SSL enabled)
kombu_ssl_certfile = (StrOpt) SSL cert file (valid only if SSL enabled)
kombu_ssl_keyfile = (StrOpt) SSL key file (valid only if SSL enabled)
kombu_ssl_version = (StrOpt) SSL version to use (valid only if SSL enabled). valid values are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some distributions
rabbit_ha_queues = False (BoolOpt) use H/A queues in RabbitMQ (x-ha-policy: all).You need to wipe RabbitMQ database when changing this option.
rabbit_host = localhost (StrOpt) The RabbitMQ broker address where a single node is used
rabbit_hosts = $rabbit_host:$rabbit_port (ListOpt) RabbitMQ HA cluster host:port pairs
rabbit_max_retries = 0 (IntOpt) maximum retries with trying to connect to RabbitMQ (the default of 0 implies an infinite retry count)
rabbit_password = guest (StrOpt) the RabbitMQ password
rabbit_port = 5672 (IntOpt) The RabbitMQ broker port where a single node is used
rabbit_retry_backoff = 2 (IntOpt) how long to backoff for between retries when connecting to RabbitMQ
rabbit_retry_interval = 1 (IntOpt) how frequently to retry connecting with RabbitMQ
rabbit_use_ssl = False (BoolOpt) connect over SSL for RabbitMQ
rabbit_userid = guest (StrOpt) the RabbitMQ userid
rabbit_virtual_host = / (StrOpt) the RabbitMQ virtual host

 Configure Qpid

Use these options to configure the Qpid messaging system:

Table 4.31. Description of Qpid configuration options
Configuration option = Default value Description
qpid_heartbeat = 60 (IntOpt) Seconds between connection keepalive heartbeats
qpid_hostname = localhost (StrOpt) Qpid broker hostname
qpid_hosts = $qpid_hostname:$qpid_port (ListOpt) Qpid HA cluster host:port pairs
qpid_password = (StrOpt) Password for qpid connection
qpid_port = 5672 (IntOpt) Qpid broker port
qpid_protocol = tcp (StrOpt) Transport to use, either 'tcp' or 'ssl'
qpid_sasl_mechanisms = (StrOpt) Space separated list of SASL mechanisms to use for auth
qpid_tcp_nodelay = True (BoolOpt) Disable Nagle algorithm
qpid_username = (StrOpt) Username for qpid connection

 Configure ZeroMq

Use these options to configure the ZeroMq messaging system:

Table 4.32. Description of ZeroMQ configuration options
Configuration option = Default value Description
rpc_zmq_bind_address = * (StrOpt) ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address.
rpc_zmq_contexts = 1 (IntOpt) Number of ZeroMQ contexts, defaults to 1
rpc_zmq_host = localhost (StrOpt) Name of this node. Must be a valid hostname, FQDN, or IP address. Must match "host" option, if running Nova.
rpc_zmq_ipc_dir = /var/run/openstack (StrOpt) Directory for holding IPC sockets
rpc_zmq_matchmaker = trove.openstack.common.rpc.matchmaker.MatchMakerLocalhost (StrOpt) MatchMaker driver
rpc_zmq_port = 9501 (IntOpt) ZeroMQ receiver listening port
rpc_zmq_topic_backlog = None (IntOpt) Maximum number of ingress messages to locally buffer per topic. Default is unlimited.

 Configure messaging

Use these common options to configure the RabbitMQ, Qpid, and ZeroMq messaging drivers:

Table 4.33. Description of AMQP configuration options
Configuration option = Default value Description
amqp_auto_delete = False (BoolOpt) Auto-delete queues in amqp.
amqp_durable_queues = False (BoolOpt) Use durable queues in amqp.
conductor_manager = trove.conductor.manager.Manager (StrOpt) Qualified class name to use for conductor manager.
conductor_queue = trove-conductor (StrOpt) Message queue name the Conductor will listen on.
control_exchange = openstack (StrOpt) AMQP exchange to connect to if using RabbitMQ or Qpid
default_publisher_id = $host (StrOpt) Default publisher_id for outgoing notifications
notification_driver = [] (MultiStrOpt) Driver or drivers to handle sending notifications
notification_service_id = {'postgresql': 'ac277e0d-4f21-40aa-b347-1ea31e571720', 'couchbase': 'fa62fe68-74d9-4779-a24e-36f19602c415', 'mongodb': 'c8c907af-7375-456f-b929-b637ff9209ee', 'redis': 'b216ffc5-1947-456c-a4cf-70f94c05f7d0', 'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'cassandra': '459a230d-4e97-4344-9067-2a54a310b0ed'} (DictOpt) Unique ID to tag notification events.
notification_topics = notifications (ListOpt) AMQP topic used for openstack notifications

Table 4.34. Description of RPC configuration options
Configuration option = Default value Description
allowed_rpc_exception_modules = nova.exception, cinder.exception, exceptions (ListOpt) Modules of exceptions that are permitted to be recreatedupon receiving exception data from an rpc call.
matchmaker_heartbeat_freq = 300 (IntOpt) Heartbeat frequency
matchmaker_heartbeat_ttl = 600 (IntOpt) Heartbeat time-to-live.
num_tries = 3 (IntOpt) Number of times to check if a volume exists.
report_interval = 10 (IntOpt) The interval (in seconds) which periodic tasks are run.
rpc_backend = trove.openstack.common.rpc.impl_kombu (StrOpt) The messaging module to use, defaults to kombu.
rpc_cast_timeout = 30 (IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq.
rpc_conn_pool_size = 30 (IntOpt) Size of RPC connection pool
rpc_response_timeout = 60 (IntOpt) Seconds to wait for a response from call or multicall
rpc_thread_pool_size = 64 (IntOpt) Size of RPC thread pool
topics = notifications (ListOpt) AMQP topic(s) used for openstack notifications
enabled = True (BoolOpt) Whether Secure Messaging (Signing) is enabled, defaults to enabled
encrypt = False (BoolOpt) Whether Secure Messaging (Encryption) is enabled, defaults to not enabled
enforced = False (BoolOpt) Whether Secure Messaging (Signing) is enforced, defaults to not enforced
kds_endpoint = None (StrOpt) KDS endpoint (ex:
secret_key = None (MultiStrOpt) A list of keys: (ex: name:<base64 encoded key>), ignored if secret_keys_file is set
secret_keys_file = None (StrOpt) Path to the file containing the keys, takes precedence over secret_key

Questions? Discuss on
Found an error? Report a bug against this page

loading table of contents...