diff --git a/oslo_templates/files/queens/oslo/messaging/_default.conf b/oslo_templates/files/queens/oslo/messaging/_default.conf
index 5382e2b..8696cf9 100644
--- a/oslo_templates/files/queens/oslo/messaging/_default.conf
+++ b/oslo_templates/files/queens/oslo/messaging/_default.conf
@@ -12,10 +12,16 @@
 # The pool size limit for connections expiration policy (integer
 # value)
 #conn_pool_min_size = 2
+{%- if _data.conn_pool_min_size is defined %}
+conn_pool_min_size = {{ _data.conn_pool_min_size }}
+{%- endif %}
 
 # The time-to-live in sec of idle connections in the pool (integer
 # value)
 #conn_pool_ttl = 1200
+{%- if _data.conn_pool_ttl is defined %}
+conn_pool_ttl = {{ _data.conn_pool_ttl }}
+{%- endif %}
 
 # ZeroMQ bind address. Should be a wildcard (*), an ethernet
 # interface, or IP. The "host" option should point or resolve to this
@@ -55,6 +61,10 @@
 # The default number of seconds that poll should wait. Poll raises
 # timeout exception when timeout expired. (integer value)
 #rpc_poll_timeout = 1
+{%- if _data.rpc_poll_timeout is defined %}
+rpc_poll_timeout = {{ _data.rpc_poll_timeout }}
+{%- endif %}
+
 
 # Expiration timeout in seconds of a name service record about
 # existing target ( < 0 means no timeout). (integer value)
@@ -147,19 +157,31 @@
 # Expiration timeout in seconds of a sent/received message after which
 # it is not tracked anymore by a client/server. (integer value)
 #rpc_message_ttl = 300
+{%- if _data.rpc_message_ttl is defined %}
+rpc_message_ttl = {{ _data.rpc_message_ttl }}
+{%- endif %}
 
 # Wait for message acknowledgements from receivers. This mechanism
 # works only via proxy without PUB/SUB. (boolean value)
 #rpc_use_acks = false
+{%- if _data.rpc_use_acks is defined %}
+rpc_use_acks = {{ _data.rpc_use_acks }}
+{%- endif %}
 
 # Number of seconds to wait for an ack from a cast/call. After each
 # retry attempt this timeout is multiplied by some specified
 # multiplier. (integer value)
 #rpc_ack_timeout_base = 15
+{%- if _data.rpc_ack_timeout_base is defined %}
+rpc_ack_timeout_base = {{ _data.rpc_ack_timeout_base }}
+{%- endif %}
 
 # Number to multiply base ack timeout by after each retry attempt.
 # (integer value)
 #rpc_ack_timeout_multiplier = 2
+{%- if _data.rpc_ack_timeout_multiplier is defined %}
+rpc_ack_timeout_multiplier = {{ _data.rpc_ack_timeout_multiplier }}
+{%- endif %}
 
 # Default number of message sending attempts in case of any problems
 # occurred: positive value N means at most N retries, 0 means no
@@ -167,6 +189,9 @@
 # forever. This option is used only if acknowledgments are enabled.
 # (integer value)
 #rpc_retry_attempts = 3
+{%- if _data.rpc_retry_attempts is defined %}
+rpc_retry_attempts = {{ _data.rpc_retry_attempts }}
+{%- endif %}
 
 # List of publisher hosts SubConsumer can subscribe on. This option
 # has higher priority then the default publishers list taken from the
diff --git a/oslo_templates/files/queens/oslo/messaging/_rabbit.conf b/oslo_templates/files/queens/oslo/messaging/_rabbit.conf
index 6aadaf2..f56e97d 100644
--- a/oslo_templates/files/queens/oslo/messaging/_rabbit.conf
+++ b/oslo_templates/files/queens/oslo/messaging/_rabbit.conf
@@ -122,14 +122,23 @@
 
 # How frequently to retry connecting with RabbitMQ. (integer value)
 #rabbit_retry_interval = 1
+{%- if _data.rabbit_retry_interval is defined %}
+rabbit_retry_interval = {{ _data.rabbit_retry_interval }}
+{%- endif %}
 
 # How long to backoff for between retries when connecting to RabbitMQ.
 # (integer value)
 #rabbit_retry_backoff = 2
+{%- if _data.rabbit_retry_backoff is defined %}
+rabbit_retry_backoff = {{ _data.rabbit_retry_backoff }}
+{%- endif %}
 
 # Maximum interval of RabbitMQ connection retries. Default is 30
 # seconds. (integer value)
 #rabbit_interval_max = 30
+{%- if _data.rabbit_interval_max is defined %}
+rabbit_interval_max = {{ _data.rabbit_interval_max }}
+{%- endif %}
 
 # DEPRECATED: Maximum number of RabbitMQ connection retries. Default
 # is 0 (infinite retry count). (integer value)
@@ -145,6 +154,9 @@
 # all nodes, run: "rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-
 # mode": "all"}' " (boolean value)
 #rabbit_ha_queues = false
+{%- if _data.rabbit_ha_queues is defined %}
+rabbit_ha_queues = {{ _data.rabbit_ha_queues }}
+{%- endif %}
 
 # Positive integer representing duration in seconds for queue TTL
 # (x-expires). Queues which are unused for the duration of the TTL are
@@ -152,6 +164,9 @@
 # queues. (integer value)
 # Minimum value: 1
 #rabbit_transient_queues_ttl = 1800
+{%- if _data.rabbit_transient_queues_ttl is defined %}
+rabbit_transient_queues_ttl = {{ _data.rabbit_transient_queues_ttl }}
+{%- endif %}
 
 # Specifies the number of messages to prefetch. Setting to zero allows
 # unlimited messages. (integer value)
@@ -163,6 +178,7 @@
 # That leads to artificial high message processing latency and at the
 # extrime to MessagingTimeout errors.
 rabbit_qos_prefetch_count = 64
+rabbit_qos_prefetch_count = {{ _data.get('rabbit_qos_prefetch_count', 64) }}
 
 # Number of seconds after which the Rabbit broker is considered down
 # if heartbeat's keep-alive fails (0 disable the heartbeat).
@@ -185,13 +201,23 @@
 
 # Maximum number of channels to allow (integer value)
 #channel_max = <None>
+{%- if _data.channel_max is defined %}
+channel_max = {{ _data.channel_max }}
+{%- endif %}
+
 
 # The maximum byte size for an AMQP frame (integer value)
 #frame_max = <None>
+{%- if _data.frame_max is defined %}
+frame_max = {{ _data.frame_max }}
+{%- endif %}
 
 # How often to send heartbeats for consumer's connections (integer
 # value)
 #heartbeat_interval = 3
+{%- if _data.heartbeat_interval is defined %}
+heartbeat_interval = {{ _data.heartbeat_interval }}
+{%- endif %}
 
 # Arguments passed to ssl.wrap_socket (dict value)
 #ssl_options = <None>
@@ -199,14 +225,23 @@
 # Set socket timeout in seconds for connection's socket (floating
 # point value)
 #socket_timeout = 0.25
+{%- if _data.socket_timeout is defined %}
+socket_timeout = {{ _data.socket_timeout }}
+{%- endif %}
 
 # Set TCP_USER_TIMEOUT in seconds for connection's socket (floating
 # point value)
 #tcp_user_timeout = 0.25
+{%- if _data.tcp_user_timeout is defined %}
+tcp_user_timeout = {{ _data.tcp_user_timeout }}
+{%- endif %}
 
 # Set delay for reconnection to some host which has connection error
 # (floating point value)
 #host_connection_reconnect_delay = 0.25
+{%- if _data.host_connection_reconnect_delay is defined %}
+host_connection_reconnect_delay = {{ _data.host_connection_reconnect_delay }}
+{%- endif %}
 
 # Connection factory implementation (string value)
 # Possible values:
@@ -214,27 +249,45 @@
 # single - <No description provided>
 # read_write - <No description provided>
 #connection_factory = single
+{%- if _data.connection_factory is defined %}
+connection_factory = {{ _data.connection_factory }}
+{%- endif %}
 
 # Maximum number of connections to keep queued. (integer value)
 #pool_max_size = 30
+{%- if _data.pool_max_size is defined %}
+pool_max_size = {{ _data.pool_max_size }}
+{%- endif %}
 
 # Maximum number of connections to create above `pool_max_size`.
 # (integer value)
 #pool_max_overflow = 0
+{%- if _data.pool_max_overflow is defined %}
+pool_max_overflow = {{ _data.pool_max_overflow }}
+{%- endif %}
 
 # Default number of seconds to wait for a connections to available
 # (integer value)
 #pool_timeout = 30
+{%- if _data.pool_timeout is defined %}
+pool_timeout = {{ _data.pool_timeout }}
+{%- endif %}
 
 # Lifetime of a connection (since creation) in seconds or None for no
 # recycling. Expired connections are closed on acquire. (integer
 # value)
 #pool_recycle = 600
+{%- if _data.pool_recycle is defined %}
+pool_recycle = {{ _data.pool_recycle }}
+{%- endif %}
 
 # Threshold at which inactive (since release) connections are
 # considered stale in seconds or None for no staleness. Stale
 # connections are closed on acquire. (integer value)
 #pool_stale = 60
+{%- if _data.pool_stale is defined %}
+pool_stale = {{ _data.pool_stale }}
+{%- endif %}
 
 # Default serialization mechanism for serializing/deserializing
 # outgoing/incoming messages (string value)
@@ -242,59 +295,103 @@
 # json - <No description provided>
 # msgpack - <No description provided>
 #default_serializer_type = json
+{%- if _data.default_serializer_type is defined %}
+default_serializer_type = {{ _data.default_serializer_type }}
+{%- endif %}
 
 # Persist notification messages. (boolean value)
 #notification_persistence = false
+{%- if _data.notification_persistence is defined %}
+notification_persistence = {{ _data.notification_persistence }}
+{%- endif %}
 
 # Exchange name for sending notifications (string value)
 #default_notification_exchange = ${control_exchange}_notification
+{%- if _data.default_notification_exchange is defined %}
+default_notification_exchange = {{ _data.default_notification_exchange }}
+{%- endif %}
 
 # Max number of not acknowledged message which RabbitMQ can send to
 # notification listener. (integer value)
 #notification_listener_prefetch_count = 100
+{%- if _data.notification_listener_prefetch_count is defined %}
+notification_listener_prefetch_count = {{ _data.notification_listener_prefetch_count }}
+{%- endif %}
 
 # Reconnecting retry count in case of connectivity problem during
 # sending notification, -1 means infinite retry. (integer value)
 #default_notification_retry_attempts = -1
+{%- if _data.default_notification_retry_attempts is defined %}
+default_notification_retry_attempts = {{ _data.default_notification_retry_attempts }}
+{%- endif %}
 
 # Reconnecting retry delay in case of connectivity problem during
 # sending notification message (floating point value)
 #notification_retry_delay = 0.25
+{%- if _data.notification_retry_delay is defined %}
+notification_retry_delay = {{ _data.notification_retry_delay }}
+{%- endif %}
 
 # Time to live for rpc queues without consumers in seconds. (integer
 # value)
 #rpc_queue_expiration = 60
+{%- if _data.rpc_queue_expiration is defined %}
+rpc_queue_expiration = {{ _data.rpc_queue_expiration }}
+{%- endif %}
 
 # Exchange name for sending RPC messages (string value)
 #default_rpc_exchange = ${control_exchange}_rpc
+{%- if _data.default_rpc_exchange is defined %}
+default_rpc_exchange = {{ _data.default_rpc_exchange }}
+{%- endif %}
 
 # Exchange name for receiving RPC replies (string value)
 #rpc_reply_exchange = ${control_exchange}_rpc_reply
+{%- if _data.rpc_reply_exchange is defined %}
+rpc_reply_exchange = {{ _data.rpc_reply_exchange }}
+{%- endif %}
 
 # Max number of not acknowledged message which RabbitMQ can send to
 # rpc listener. (integer value)
 #rpc_listener_prefetch_count = 100
+{%- if _data.rpc_listener_prefetch_count is defined %}
+rpc_listener_prefetch_count = {{ _data.rpc_listener_prefetch_count }}
+{%- endif %}
 
 # Max number of not acknowledged message which RabbitMQ can send to
 # rpc reply listener. (integer value)
 #rpc_reply_listener_prefetch_count = 100
+{%- if _data.rpc_reply_listener_prefetch_count is defined %}
+rpc_reply_listener_prefetch_count = {{ _data.rpc_reply_listener_prefetch_count }}
+{%- endif %}
 
 # Reconnecting retry count in case of connectivity problem during
 # sending reply. -1 means infinite retry during rpc_timeout (integer
 # value)
 #rpc_reply_retry_attempts = -1
+{%- if _data.rpc_reply_retry_attempts is defined %}
+rpc_reply_retry_attempts = {{ _data.rpc_reply_retry_attempts }}
+{%- endif %}
 
 # Reconnecting retry delay in case of connectivity problem during
 # sending reply. (floating point value)
 #rpc_reply_retry_delay = 0.25
+{%- if _data.rpc_reply_retry_delay is defined %}
+rpc_reply_retry_delay = {{ _data.rpc_reply_retry_delay }}
+{%- endif %}
 
 # Reconnecting retry count in case of connectivity problem during
 # sending RPC message, -1 means infinite retry. If actual retry
 # attempts in not 0 the rpc request could be processed more than one
 # time (integer value)
 #default_rpc_retry_attempts = -1
+{%- if _data.default_rpc_retry_attempts is defined %}
+default_rpc_retry_attempts = {{ _data.default_rpc_retry_attempts }}
+{%- endif %}
 
 # Reconnecting retry delay in case of connectivity problem during
 # sending RPC message (floating point value)
 #rpc_retry_delay = 0.25
-
+{%- if _data.rpc_retry_delay is defined %}
+rpc_retry_delay = {{ _data.rpc_retry_delay }}
+{%- endif %}
diff --git a/oslo_templates/files/rocky/oslo/messaging/_default.conf b/oslo_templates/files/rocky/oslo/messaging/_default.conf
index d46838c..cf3206a 100644
--- a/oslo_templates/files/rocky/oslo/messaging/_default.conf
+++ b/oslo_templates/files/rocky/oslo/messaging/_default.conf
@@ -11,9 +11,15 @@
 
 # The pool size limit for connections expiration policy (integer value)
 #conn_pool_min_size = 2
+{%- if _data.conn_pool_min_size is defined %}
+conn_pool_min_size = {{ _data.conn_pool_min_size }}
+{%- endif %}
 
 # The time-to-live in sec of idle connections in the pool (integer value)
 #conn_pool_ttl = 1200
+{%- if _data.conn_pool_ttl is defined %}
+conn_pool_ttl = {{ _data.conn_pool_ttl }}
+{%- endif %}
 
 # ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
 # The "host" option should point or resolve to this address. (string value)
@@ -51,6 +57,10 @@
 # The default number of seconds that poll should wait. Poll raises timeout
 # exception when timeout expired. (integer value)
 #rpc_poll_timeout = 1
+{%- if _data.rpc_poll_timeout is defined %}
+rpc_poll_timeout = {{ _data.rpc_poll_timeout }}
+{%- endif %}
+
 
 # Expiration timeout in seconds of a name service record about existing target
 # ( < 0 means no timeout). (integer value)
@@ -71,6 +81,9 @@
 # with use_router_proxy=False which means to use direct connections for direct
 # message types (ignored otherwise). (boolean value)
 #use_dynamic_connections = false
+{%- if _data.use_dynamic_connections is defined %}
+use_dynamic_connections = {{ _data.use_dynamic_connections }}
+{%- endif %}
 
 # How many additional connections to a host will be made for failover reasons.
 # This option is actual only in dynamic connections mode. (integer value)
@@ -137,25 +150,40 @@
 # Expiration timeout in seconds of a sent/received message after which it is
 # not tracked anymore by a client/server. (integer value)
 #rpc_message_ttl = 300
+{%- if _data.rpc_message_ttl is defined %}
+rpc_message_ttl = {{ _data.rpc_message_ttl }}
+{%- endif %}
 
 # Wait for message acknowledgements from receivers. This mechanism works only
 # via proxy without PUB/SUB. (boolean value)
 #rpc_use_acks = false
+{%- if _data.rpc_use_acks is defined %}
+rpc_use_acks = {{ _data.rpc_use_acks }}
+{%- endif %}
 
 # Number of seconds to wait for an ack from a cast/call. After each retry
 # attempt this timeout is multiplied by some specified multiplier. (integer
 # value)
 #rpc_ack_timeout_base = 15
+{%- if _data.rpc_ack_timeout_base is defined %}
+rpc_ack_timeout_base = {{ _data.rpc_ack_timeout_base }}
+{%- endif %}
 
 # Number to multiply base ack timeout by after each retry attempt. (integer
 # value)
 #rpc_ack_timeout_multiplier = 2
+{%- if _data.rpc_ack_timeout_multiplier is defined %}
+rpc_ack_timeout_multiplier = {{ _data.rpc_ack_timeout_multiplier }}
+{%- endif %}
 
 # Default number of message sending attempts in case of any problems occurred:
 # positive value N means at most N retries, 0 means no retries, None or -1 (or
 # any other negative values) mean to retry forever. This option is used only if
 # acknowledgments are enabled. (integer value)
 #rpc_retry_attempts = 3
+{%- if _data.rpc_retry_attempts is defined %}
+rpc_retry_attempts = {{ _data.rpc_retry_attempts }}
+{%- endif %}
 
 # List of publisher hosts SubConsumer can subscribe on. This option has higher
 # priority then the default publishers list taken from the matchmaker. (list
diff --git a/oslo_templates/files/rocky/oslo/messaging/_rabbit.conf b/oslo_templates/files/rocky/oslo/messaging/_rabbit.conf
index d66d4b6..ddb9e03 100644
--- a/oslo_templates/files/rocky/oslo/messaging/_rabbit.conf
+++ b/oslo_templates/files/rocky/oslo/messaging/_rabbit.conf
@@ -51,15 +51,24 @@
 # How long to wait before reconnecting in response to an AMQP consumer cancel
 # notification. (floating point value)
 #kombu_reconnect_delay = 1.0
+{%- if _data.kombu_reconnect_delay is defined %}
+kombu_reconnect_delay = {{ _data.kombu_reconnect_delay }}
+{%- endif %}
 
 # EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
 # be used. This option may not be available in future versions. (string value)
 #kombu_compression = <None>
+{%- if _data.kombu_compression is defined %}
+kombu_compression = {{ _data.kombu_compression }}
+{%- endif %}
 
 # How long to wait a missing client before abandoning to send it its replies.
 # This value should not be longer than rpc_response_timeout. (integer value)
 # Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
 #kombu_missing_consumer_retry_timeout = 60
+{%- if _data.kombu_missing_consumer_retry_timeout is defined %}
+kombu_missing_consumer_retry_timeout = {{ _data.kombu_missing_consumer_retry_timeout }}
+{%- endif %}
 
 # 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
@@ -68,6 +77,9 @@
 # round-robin - <No description provided>
 # shuffle - <No description provided>
 #kombu_failover_strategy = round-robin
+{%- if _data.kombu_failover_strategy is defined %}
+kombu_failover_strategy = {{ _data.kombu_failover_strategy }}
+{%- endif %}
 
 # DEPRECATED: The RabbitMQ broker address where a single node is used. (string
 # value)
@@ -118,20 +130,32 @@
 
 # How frequently to retry connecting with RabbitMQ. (integer value)
 #rabbit_retry_interval = 1
+{%- if _data.rabbit_retry_interval is defined %}
+rabbit_retry_interval = {{ _data.rabbit_retry_interval }}
+{%- endif %}
 
 # How long to backoff for between retries when connecting to RabbitMQ. (integer
 # value)
 #rabbit_retry_backoff = 2
+{%- if _data.rabbit_retry_backoff is defined %}
+rabbit_retry_backoff = {{ _data.rabbit_retry_backoff }}
+{%- endif %}
 
 # Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
 # (integer value)
 #rabbit_interval_max = 30
+{%- if _data.rabbit_interval_max is defined %}
+rabbit_interval_max = {{ _data.rabbit_interval_max }}
+{%- endif %}
 
 # DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
 # (infinite retry count). (integer value)
 # This option is deprecated for removal.
 # Its value may be silently ignored in the future.
 #rabbit_max_retries = 0
+{%- if _data.rabbit_max_retries is defined %}
+rabbit_max_retries = {{ _data.rabbit_max_retries }}
+{%- endif %}
 
 # 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
@@ -140,16 +164,25 @@
 # generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
 # HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
 #rabbit_ha_queues = false
+{%- if _data.rabbit_ha_queues is defined %}
+rabbit_ha_queues = {{ _data.rabbit_ha_queues }}
+{%- endif %}
 
 # 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. (integer value)
 # Minimum value: 1
 #rabbit_transient_queues_ttl = 1800
+{%- if _data.rabbit_transient_queues_ttl is defined %}
+rabbit_transient_queues_ttl = {{ _data.rabbit_transient_queues_ttl }}
+{%- endif %}
 
 # Specifies the number of messages to prefetch. Setting to zero allows
 # unlimited messages. (integer value)
 #rabbit_qos_prefetch_count = 0
+{%- if _data.rabbit_qos_prefetch_count is defined %}
+rabbit_qos_prefetch_count = {{ _data.rabbit_qos_prefetch_count }}
+{%- endif %}
 
 # Number of seconds after which the Rabbit broker is considered down if
 # heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
