11.3. Configure the RPC messaging system
11.3.1. Configure RabbitMQ
rpc_backend option is optional as long as RabbitMQ is the default messaging system. However, if it is included in the configuration, you must set it to heat.openstack.common.rpc.impl_kombu.
rpc_backend = heat.openstack.common.rpc.impl_kombu
notification_driver option to heat.openstack.common.notifier.rpc_notifier in the heat.conf file:
Table 11.29. Description of RabbitMQ configuration options
| 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. |
11.3.2. Configure Qpid
rpc_backend option in the heat.conf file:
rpc_backend=heat.openstack.common.rpc.impl_qpid
qpid_hostname option to the host name where the broker runs in the heat.conf file.
qpid_hostname option accepts a host name or IP address value.
qpid_hostname = hostname.example.com
5672, you must set the qpid_port option to that value:
qpid_port = 12345
qpid_username = username qpid_password = password
qpid_protocol option:
qpid_protocol = ssl
Table 11.30. Description of Qpid configuration options
| 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. |
11.3.3. Configure messaging
Table 11.31. Description of AMQP configuration options
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
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. |
default_notification_level = INFO
|
(StrOpt) Default notification level for outgoing notifications. |
default_publisher_id = None
|
(StrOpt) Default publisher_id for outgoing notifications. |
list_notifier_drivers = None
|
(MultiStrOpt) List of drivers to send notifications (DEPRECATED). |
notification_driver = []
|
(MultiStrOpt) Driver or drivers to handle sending notifications. |
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. |
Table 11.32. Description of RPC configuration options
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
engine_life_check_timeout = 2
|
(IntOpt) RPC timeout for the engine liveness check that is used for stack locking. |
matchmaker_heartbeat_freq = 300
|
(IntOpt) Heartbeat frequency. |
matchmaker_heartbeat_ttl = 600
|
(IntOpt) Heartbeat time-to-live. |
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 |
Table 11.33. Description of notification configuration options
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
onready = None
|
(StrOpt) Deprecated. |
