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.
Use these options to configure the RabbitMQ messaging system:
Configuration option = Default value | Description |
---|---|
[oslo_messaging_rabbit] | |
amqp_auto_delete = False |
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False |
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False |
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2 |
(IntOpt) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 0 |
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
kombu_reconnect_delay = 1.0 |
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
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 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some distributions. |
rabbit_ha_queues = False |
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
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_login_method = AMQPLAIN |
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0 |
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (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. |
rpc_conn_pool_size = 30 |
(IntOpt) Size of RPC connection pool. |
Use these options to configure the Qpid messaging system:
Configuration option = Default value | Description |
---|---|
[oslo_messaging_qpid] | |
amqp_auto_delete = False |
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False |
(BoolOpt) Use durable queues in AMQP. |
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_receiver_capacity = 1 |
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True |
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1 |
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
rpc_conn_pool_size = 30 |
(IntOpt) Size of RPC connection pool. |
Use these options to configure the ZeroMq messaging system:
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
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 = local |
(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. |
Use these common options to configure the RabbitMQ, Qpid, and ZeroMq messaging drivers:
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
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) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
notification_driver = [] |
(MultiStrOpt) Driver or drivers to handle sending notifications. |
notification_service_id = {'vertica': 'a8d805ae-a3b2-c4fd-gb23-b62cee5201ae', 'db2': 'e040cd37-263d-4869-aaa6-c62aa97523b5', 'postgresql': 'ac277e0d-4f21-40aa-b347-1ea31e571720', 'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'couchbase': 'fa62fe68-74d9-4779-a24e-36f19602c415', 'mongodb': 'c8c907af-7375-456f-b929-b637ff9209ee', 'couchdb': 'f0a9ab7b-66f7-4352-93d7-071521d44c7c', 'redis': 'b216ffc5-1947-456c-a4cf-70f94c05f7d0', 'cassandra': '459a230d-4e97-4344-9067-2a54a310b0ed'} |
(DictOpt) Unique ID to tag notification events. |
notification_topics = notifications |
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None |
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
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 = rabbit |
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30 |
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_response_timeout = 60 |
(IntOpt) Seconds to wait for a response from a call. |
rpc_thread_pool_size = 64 |
(IntOpt) Size of RPC thread pool. |
[oslo_messaging_amqp] | |
allow_insecure_clients = False |
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast |
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None |
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast |
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0 |
(IntOpt) Timeout for inactive connections (in seconds) |
server_request_prefix = exclusive |
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file for verifing server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None |
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False |
(BoolOpt) Debug: dump AMQP frames to stdout |