Configuration Options¶
oslo.messaging uses oslo.config to define and manage configuration options to allow the deployer to control how an application uses the underlying messaging system.
DEFAULT¶
- rpc_conn_pool_size¶
- Type
integer
- Default
30
- Minimum Value
1
Size of RPC connection pool.
¶ Group
Name
DEFAULT
rpc_conn_pool_size
- conn_pool_min_size¶
- Type
integer
- Default
2
The pool size limit for connections expiration policy
- conn_pool_ttl¶
- Type
integer
- Default
1200
The time-to-live in sec of idle connections in the pool
- executor_thread_pool_size¶
- Type
integer
- Default
64
Size of executor thread pool when executor is threading or eventlet.
¶ Group
Name
DEFAULT
rpc_thread_pool_size
- rpc_response_timeout¶
- Type
integer
- Default
60
Seconds to wait for a response from a call.
- transport_url¶
- Type
string
- Default
rabbit://
The network address and optional user credentials for connecting to the messaging backend, in URL format. The expected format is:
driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query
Example: rabbit://rabbitmq:password@127.0.0.1:5672//
For full details on the fields in the URL see the documentation of oslo_messaging.TransportURL at https://docs.openstack.org/oslo.messaging/latest/reference/transport.html
- control_exchange¶
- Type
string
- Default
openstack
The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.
- rpc_ping_enabled¶
- Type
boolean
- Default
False
Add an endpoint to answer to ping calls. Endpoint is named oslo_rpc_server_ping
oslo_messaging_amqp¶
- container_name¶
- Type
string
- Default
<None>
Name for the AMQP container. must be globally unique. Defaults to a generated UUID
¶ Group
Name
amqp1
container_name
- idle_timeout¶
- Type
integer
- Default
0
Timeout for inactive connections (in seconds)
¶ Group
Name
amqp1
idle_timeout
- ssl¶
- Type
boolean
- Default
False
Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate.
- ssl_ca_file¶
- Type
string
- Default
''
CA certificate PEM file used to verify the server’s certificate
¶ Group
Name
amqp1
ssl_ca_file
- ssl_cert_file¶
- Type
string
- Default
''
Self-identifying certificate PEM file for client authentication
¶ Group
Name
amqp1
ssl_cert_file
- ssl_key_file¶
- Type
string
- Default
''
Private key PEM file used to sign ssl_cert_file certificate (optional)
¶ Group
Name
amqp1
ssl_key_file
- ssl_key_password¶
- Type
string
- Default
<None>
Password for decrypting ssl_key_file (if encrypted)
¶ Group
Name
amqp1
ssl_key_password
- ssl_verify_vhost¶
- Type
boolean
- Default
False
By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name.
- sasl_mechanisms¶
- Type
string
- Default
''
Space separated list of acceptable SASL mechanisms
¶ Group
Name
amqp1
sasl_mechanisms
- sasl_config_dir¶
- Type
string
- Default
''
Path to directory that contains the SASL configuration
¶ Group
Name
amqp1
sasl_config_dir
- sasl_config_name¶
- Type
string
- Default
''
Name of configuration file (without .conf suffix)
¶ Group
Name
amqp1
sasl_config_name
- sasl_default_realm¶
- Type
string
- Default
''
SASL realm to use if no realm present in username
- connection_retry_interval¶
- Type
integer
- Default
1
- Minimum Value
1
Seconds to pause before attempting to re-connect.
- connection_retry_backoff¶
- Type
integer
- Default
2
- Minimum Value
0
Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.
- connection_retry_interval_max¶
- Type
integer
- Default
30
- Minimum Value
1
Maximum limit for connection_retry_interval + connection_retry_backoff
- link_retry_delay¶
- Type
integer
- Default
10
- Minimum Value
1
Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.
- default_reply_retry¶
- Type
integer
- Default
0
- Minimum Value
-1
The maximum number of attempts to re-send a reply message which failed due to a recoverable error.
- default_reply_timeout¶
- Type
integer
- Default
30
- Minimum Value
5
The deadline for an rpc reply message delivery.
- default_send_timeout¶
- Type
integer
- Default
30
- Minimum Value
5
The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.
- default_notify_timeout¶
- Type
integer
- Default
30
- Minimum Value
5
The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.
- default_sender_link_timeout¶
- Type
integer
- Default
600
- Minimum Value
1
The duration to schedule a purge of idle sender links. Detach link after expiry.
- addressing_mode¶
- Type
string
- Default
dynamic
Indicates the addressing mode used by the driver. Permitted values: ‘legacy’ - use legacy non-routable addressing ‘routable’ - use routable addresses ‘dynamic’ - use legacy addresses if the message bus does not support routing otherwise use routable addressing
- pseudo_vhost¶
- Type
boolean
- Default
True
Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private ‘subnet’ per virtual host. Set to False if the message bus supports virtual hosting using the ‘hostname’ field in the AMQP 1.0 Open performative as the name of the virtual host.
- server_request_prefix¶
- Type
string
- Default
exclusive
address prefix used when sending to a specific server
¶ Group
Name
amqp1
server_request_prefix
- broadcast_prefix¶
- Type
string
- Default
broadcast
address prefix used when broadcasting to all servers
¶ Group
Name
amqp1
broadcast_prefix
- group_request_prefix¶
- Type
string
- Default
unicast
address prefix when sending to any server in group
¶ Group
Name
amqp1
group_request_prefix
- rpc_address_prefix¶
- Type
string
- Default
openstack.org/om/rpc
Address prefix for all generated RPC addresses
- notify_address_prefix¶
- Type
string
- Default
openstack.org/om/notify
Address prefix for all generated Notification addresses
- multicast_address¶
- Type
string
- Default
multicast
Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.
- unicast_address¶
- Type
string
- Default
unicast
Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination.
- anycast_address¶
- Type
string
- Default
anycast
Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers.
- default_notification_exchange¶
- Type
string
- Default
<None>
Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else ‘notify’
- default_rpc_exchange¶
- Type
string
- Default
<None>
Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else ‘rpc’
- reply_link_credit¶
- Type
integer
- Default
200
- Minimum Value
1
Window size for incoming RPC Reply messages.
- rpc_server_credit¶
- Type
integer
- Default
100
- Minimum Value
1
Window size for incoming RPC Request messages
- notify_server_credit¶
- Type
integer
- Default
100
- Minimum Value
1
Window size for incoming Notification messages
- pre_settled¶
- Type
multi-valued
- Default
rpc-cast
- Default
rpc-reply
Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: ‘rpc-call’ - send RPC Calls pre-settled ‘rpc-reply’- send RPC Replies pre-settled ‘rpc-cast’ - Send RPC Casts pre-settled ‘notify’ - Send Notifications pre-settled
oslo_messaging_kafka¶
- kafka_max_fetch_bytes¶
- Type
integer
- Default
1048576
Max fetch bytes of Kafka consumer
- kafka_consumer_timeout¶
- Type
floating point
- Default
1.0
Default timeout(s) for Kafka consumers
- pool_size¶
- Type
integer
- Default
10
Pool Size for Kafka Consumers
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason
Driver no longer uses connection pool.
- conn_pool_min_size¶
- Type
integer
- Default
2
The pool size limit for connections expiration policy
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason
Driver no longer uses connection pool.
- conn_pool_ttl¶
- Type
integer
- Default
1200
The time-to-live in sec of idle connections in the pool
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason
Driver no longer uses connection pool.
- consumer_group¶
- Type
string
- Default
oslo_messaging_consumer
Group id for Kafka consumer. Consumers in one group will coordinate message consumption
- producer_batch_timeout¶
- Type
floating point
- Default
0.0
Upper bound on the delay for KafkaProducer batching in seconds
- producer_batch_size¶
- Type
integer
- Default
16384
Size of batch for the producer async send
- compression_codec¶
- Type
string
- Default
none
- Valid Values
none, gzip, snappy, lz4, zstd
The compression codec for all data generated by the producer. If not set, compression will not be used. Note that the allowed values of this depend on the kafka version
- enable_auto_commit¶
- Type
boolean
- Default
False
Enable asynchronous consumer commits
- max_poll_records¶
- Type
integer
- Default
500
The maximum number of records returned in a poll call
- security_protocol¶
- Type
string
- Default
PLAINTEXT
- Valid Values
PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL
Protocol used to communicate with brokers
- sasl_mechanism¶
- Type
string
- Default
PLAIN
Mechanism when security protocol is SASL
- ssl_cafile¶
- Type
string
- Default
''
CA certificate PEM file used to verify the server certificate
- ssl_client_cert_file¶
- Type
string
- Default
''
Client certificate PEM file used for authentication.
- ssl_client_key_file¶
- Type
string
- Default
''
Client key PEM file used for authentication.
- ssl_client_key_password¶
- Type
string
- Default
''
Client key password file used for authentication.
oslo_messaging_notifications¶
- driver¶
- Type
multi-valued
- Default
''
The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop
¶ Group
Name
DEFAULT
notification_driver
- transport_url¶
- Type
string
- Default
<None>
A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.
¶ Group
Name
DEFAULT
notification_transport_url
- topics¶
- Type
list
- Default
['notifications']
AMQP topic used for OpenStack notifications.
¶ Group
Name
rpc_notifier2
topics
DEFAULT
notification_topics
- retry¶
- Type
integer
- Default
-1
The maximum number of attempts to re-send a notification message which failed to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
oslo_messaging_rabbit¶
- amqp_durable_queues¶
- Type
boolean
- Default
False
Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be durable and this value will be ignored.
- amqp_auto_delete¶
- Type
boolean
- Default
False
Auto-delete queues in AMQP.
¶ Group
Name
DEFAULT
amqp_auto_delete
- ssl_version¶
- Type
string
- Default
''
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.
¶ Group
Name
oslo_messaging_rabbit
kombu_ssl_version
- ssl_key_file¶
- Type
string
- Default
''
SSL key file (valid only if SSL enabled).
¶ Group
Name
oslo_messaging_rabbit
kombu_ssl_keyfile
- ssl_cert_file¶
- Type
string
- Default
''
SSL cert file (valid only if SSL enabled).
¶ Group
Name
oslo_messaging_rabbit
kombu_ssl_certfile
- ssl_ca_file¶
- Type
string
- Default
''
SSL certification authority file (valid only if SSL enabled).
¶ Group
Name
oslo_messaging_rabbit
kombu_ssl_ca_certs
- ssl_enforce_fips_mode¶
- Type
boolean
- Default
False
Global toggle for enforcing the OpenSSL FIPS mode. This feature requires Python support. This is available in Python 3.9 in all environments and may have been backported to older Python versions on select environments. If the Python executable used does not support OpenSSL FIPS mode, an exception will be raised.
- heartbeat_in_pthread¶
- Type
boolean
- Default
False
Run the health check heartbeat thread through a native python thread by default. If this option is equal to False then the health check heartbeat will inherit the execution model from the parent process. For example if the parent process has monkey patched the stdlib by using eventlet/greenlet then the heartbeat will be run through a green thread. This option should be set to True only for the wsgi services.
- kombu_reconnect_delay¶
- Type
floating point
- Default
1.0
- Minimum Value
0.0
- Maximum Value
4.5
How long to wait (in seconds) before reconnecting in response to an AMQP consumer cancel notification.
¶ Group
Name
DEFAULT
kombu_reconnect_delay
- kombu_compression¶
- Type
string
- Default
<None>
EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions.
- kombu_missing_consumer_retry_timeout¶
- Type
integer
- Default
60
How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout.
¶ Group
Name
oslo_messaging_rabbit
kombu_reconnect_timeout
- kombu_failover_strategy¶
- Type
string
- Default
round-robin
- Valid Values
round-robin, shuffle
Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config.
- rabbit_login_method¶
- Type
string
- Default
AMQPLAIN
- Valid Values
PLAIN, AMQPLAIN, EXTERNAL, RABBIT-CR-DEMO
The RabbitMQ login method.
¶ Group
Name
DEFAULT
rabbit_login_method
- rabbit_retry_interval¶
- Type
integer
- Default
1
How frequently to retry connecting with RabbitMQ.
- rabbit_retry_backoff¶
- Type
integer
- Default
2
How long to backoff for between retries when connecting to RabbitMQ.
¶ Group
Name
DEFAULT
rabbit_retry_backoff
- rabbit_interval_max¶
- Type
integer
- Default
30
Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
- rabbit_ha_queues¶
- Type
boolean
- Default
False
Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring is no longer controlled by the x-ha-policy argument when declaring a queue. If you just want to make sure that all queues (except those with auto-generated names) are mirrored across all nodes, run: “rabbitmqctl set_policy HA ‘^(?!amq.).*’ ‘{“ha-mode”: “all”}’ “
¶ Group
Name
DEFAULT
rabbit_ha_queues
- rabbit_quorum_queue¶
- Type
boolean
- Default
False
Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a modern queue type for RabbitMQ implementing a durable, replicated FIFO queue based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0. If set this option will conflict with the HA queues (
rabbit_ha_queues
) aka mirrored queues, in other words the HA queues should be disabled, quorum queues durable by default so the amqp_durable_queues opion is ignored when this option enabled.
- rabbit_quorum_delivery_limit¶
- Type
integer
- Default
0
Each time a message is redelivered to a consumer, a counter is incremented. Once the redelivery count exceeds the delivery limit the message gets dropped or dead-lettered (if a DLX exchange has been configured) Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
- rabbit_quorum_max_memory_length¶
- Type
integer
- Default
0
By default all messages are maintained in memory if a quorum queue grows in length it can put memory pressure on a cluster. This option can limit the number of messages in the quorum queue. Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
¶ Group
Name
oslo_messaging_rabbit
rabbit_quroum_max_memory_length
- rabbit_quorum_max_memory_bytes¶
- Type
integer
- Default
0
By default all messages are maintained in memory if a quorum queue grows in length it can put memory pressure on a cluster. This option can limit the number of memory bytes used by the quorum queue. Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
¶ Group
Name
oslo_messaging_rabbit
rabbit_quroum_max_memory_bytes
- rabbit_transient_queues_ttl¶
- Type
integer
- Default
1800
- Minimum Value
1
Positive integer representing duration in seconds for queue TTL (x-expires). Queues which are unused for the duration of the TTL are automatically deleted. The parameter affects only reply and fanout queues.
- rabbit_qos_prefetch_count¶
- Type
integer
- Default
0
Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.
- heartbeat_timeout_threshold¶
- Type
integer
- Default
60
Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat).
- heartbeat_rate¶
- Type
integer
- Default
2
How often times during the heartbeat_timeout_threshold we check the heartbeat.
- direct_mandatory_flag¶
- Type
boolean
- Default
True
(DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct send. The direct send is used as reply, so the MessageUndeliverable exception is raised in case the client queue does not exist.MessageUndeliverable exception will be used to loop for a timeout to lets a chance to sender to recover.This flag is deprecated and it will not be possible to deactivate this functionality anymore
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason
Mandatory flag no longer deactivable.
- enable_cancel_on_failover¶
- Type
boolean
- Default
False
Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and notify consumerswhen queue is down
API¶
- oslo_messaging.opts.list_opts()¶
Return a list of oslo.config options available in the library.
The returned list includes all oslo.config options which may be registered at runtime by the library.
Each element of the list is a tuple. The first element is the name of the group under which the list of elements in the second element will be registered. A group name of None corresponds to the [DEFAULT] group in config files.
This function is also discoverable via the ‘oslo_messaging’ entry point under the ‘oslo.config.opts’ namespace.
The purpose of this is to allow tools like the Oslo sample config file generator to discover the options exposed to users by this library.
- Returns
a list of (group_name, opts) tuples