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.
rpc_conn_pool_size
¶integer
30
1
Size of RPC connection pool.
Group |
Name |
---|---|
DEFAULT |
rpc_conn_pool_size |
conn_pool_min_size
¶integer
2
The pool size limit for connections expiration policy
conn_pool_ttl
¶integer
1200
The time-to-live in sec of idle connections in the pool
executor_thread_pool_size
¶integer
64
Size of executor thread pool when executor is threading or eventlet.
Group |
Name |
---|---|
DEFAULT |
rpc_thread_pool_size |
rpc_response_timeout
¶integer
60
Seconds to wait for a response from a call.
transport_url
¶string
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
¶string
openstack
The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.
container_name
¶string
<None>
Name for the AMQP container. must be globally unique. Defaults to a generated UUID
Group |
Name |
---|---|
amqp1 |
container_name |
idle_timeout
¶integer
0
Timeout for inactive connections (in seconds)
Group |
Name |
---|---|
amqp1 |
idle_timeout |
trace
¶boolean
false
Debug: dump AMQP frames to stdout
Group |
Name |
---|---|
amqp1 |
trace |
ssl
¶boolean
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
¶string
''
CA certificate PEM file used to verify the server’s certificate
Group |
Name |
---|---|
amqp1 |
ssl_ca_file |
ssl_cert_file
¶string
''
Self-identifying certificate PEM file for client authentication
Group |
Name |
---|---|
amqp1 |
ssl_cert_file |
ssl_key_file
¶string
''
Private key PEM file used to sign ssl_cert_file certificate (optional)
Group |
Name |
---|---|
amqp1 |
ssl_key_file |
ssl_key_password
¶string
<None>
Password for decrypting ssl_key_file (if encrypted)
Group |
Name |
---|---|
amqp1 |
ssl_key_password |
ssl_verify_vhost
¶boolean
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
¶string
''
Space separated list of acceptable SASL mechanisms
Group |
Name |
---|---|
amqp1 |
sasl_mechanisms |
sasl_config_dir
¶string
''
Path to directory that contains the SASL configuration
Group |
Name |
---|---|
amqp1 |
sasl_config_dir |
sasl_config_name
¶string
''
Name of configuration file (without .conf suffix)
Group |
Name |
---|---|
amqp1 |
sasl_config_name |
sasl_default_realm
¶string
''
SASL realm to use if no realm present in username
connection_retry_interval
¶integer
1
1
Seconds to pause before attempting to re-connect.
connection_retry_backoff
¶integer
2
0
Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.
connection_retry_interval_max
¶integer
30
1
Maximum limit for connection_retry_interval + connection_retry_backoff
link_retry_delay
¶integer
10
1
Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.
default_reply_retry
¶integer
0
-1
The maximum number of attempts to re-send a reply message which failed due to a recoverable error.
default_reply_timeout
¶integer
30
5
The deadline for an rpc reply message delivery.
default_send_timeout
¶integer
30
5
The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.
default_notify_timeout
¶integer
30
5
The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.
default_sender_link_timeout
¶integer
600
1
The duration to schedule a purge of idle sender links. Detach link after expiry.
addressing_mode
¶string
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
¶boolean
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
¶string
exclusive
address prefix used when sending to a specific server
Group |
Name |
---|---|
amqp1 |
server_request_prefix |
broadcast_prefix
¶string
broadcast
address prefix used when broadcasting to all servers
Group |
Name |
---|---|
amqp1 |
broadcast_prefix |
group_request_prefix
¶string
unicast
address prefix when sending to any server in group
Group |
Name |
---|---|
amqp1 |
group_request_prefix |
rpc_address_prefix
¶string
openstack.org/om/rpc
Address prefix for all generated RPC addresses
notify_address_prefix
¶string
openstack.org/om/notify
Address prefix for all generated Notification addresses
multicast_address
¶string
multicast
Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.
unicast_address
¶string
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
¶string
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
¶string
<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
¶string
<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
¶integer
200
1
Window size for incoming RPC Reply messages.
rpc_server_credit
¶integer
100
1
Window size for incoming RPC Request messages
notify_server_credit
¶integer
100
1
Window size for incoming Notification messages
pre_settled
¶multi-valued
rpc-cast
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
kafka_max_fetch_bytes
¶integer
1048576
Max fetch bytes of Kafka consumer
kafka_consumer_timeout
¶floating point
1.0
Default timeout(s) for Kafka consumers
pool_size
¶integer
10
Pool Size for Kafka Consumers
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
Driver no longer uses connection pool.
conn_pool_min_size
¶integer
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.
Driver no longer uses connection pool.
conn_pool_ttl
¶integer
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.
Driver no longer uses connection pool.
consumer_group
¶string
oslo_messaging_consumer
Group id for Kafka consumer. Consumers in one group will coordinate message consumption
producer_batch_timeout
¶floating point
0.0
Upper bound on the delay for KafkaProducer batching in seconds
producer_batch_size
¶integer
16384
Size of batch for the producer async send
compression_codec
¶string
none
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
¶boolean
false
Enable asynchronous consumer commits
max_poll_records
¶integer
500
The maximum number of records returned in a poll call
security_protocol
¶string
PLAINTEXT
PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL
Protocol used to communicate with brokers
sasl_mechanism
¶string
PLAIN
Mechanism when security protocol is SASL
ssl_cafile
¶string
''
CA certificate PEM file used to verify the server certificate
driver
¶multi-valued
''
The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop
Group |
Name |
---|---|
DEFAULT |
notification_driver |
transport_url
¶string
<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
¶list
notifications
AMQP topic used for OpenStack notifications.
Group |
Name |
---|---|
rpc_notifier2 |
topics |
DEFAULT |
notification_topics |
retry
¶integer
-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
amqp_durable_queues
¶boolean
false
Use durable queues in AMQP.
amqp_auto_delete
¶boolean
false
Auto-delete queues in AMQP.
Group |
Name |
---|---|
DEFAULT |
amqp_auto_delete |
ssl
¶boolean
false
Connect over SSL.
Group |
Name |
---|---|
oslo_messaging_rabbit |
rabbit_use_ssl |
ssl_version
¶string
''
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
¶string
''
SSL key file (valid only if SSL enabled).
Group |
Name |
---|---|
oslo_messaging_rabbit |
kombu_ssl_keyfile |
ssl_cert_file
¶string
''
SSL cert file (valid only if SSL enabled).
Group |
Name |
---|---|
oslo_messaging_rabbit |
kombu_ssl_certfile |
ssl_ca_file
¶string
''
SSL certification authority file (valid only if SSL enabled).
Group |
Name |
---|---|
oslo_messaging_rabbit |
kombu_ssl_ca_certs |
heartbeat_in_pthread
¶boolean
false
EXPERIMENTAL: Run the health check heartbeat threadthrough a native python thread. By default if thisoption isn’t provided the health check heartbeat willinherit the execution model from the parent process. Byexample if the parent process have monkey patched thestdlib by using eventlet/greenlet then the heartbeatwill be run through a green thread.
kombu_reconnect_delay
¶floating point
1.0
How long to wait before reconnecting in response to an AMQP consumer cancel notification.
Group |
Name |
---|---|
DEFAULT |
kombu_reconnect_delay |
kombu_compression
¶string
<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
¶integer
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
¶string
round-robin
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
¶string
AMQPLAIN
PLAIN, AMQPLAIN, RABBIT-CR-DEMO
The RabbitMQ login method.
Group |
Name |
---|---|
DEFAULT |
rabbit_login_method |
rabbit_retry_interval
¶integer
1
How frequently to retry connecting with RabbitMQ.
rabbit_retry_backoff
¶integer
2
How long to backoff for between retries when connecting to RabbitMQ.
Group |
Name |
---|---|
DEFAULT |
rabbit_retry_backoff |
rabbit_interval_max
¶integer
30
Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
rabbit_ha_queues
¶boolean
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_transient_queues_ttl
¶integer
1800
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
¶integer
0
Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.
heartbeat_timeout_threshold
¶integer
60
Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat).
heartbeat_rate
¶integer
2
How often times during the heartbeat_timeout_threshold we check the heartbeat.
direct_mandatory_flag
¶boolean
true
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.
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.
a list of (group_name, opts) tuples
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.