diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2ffe067..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-sudo: required
-services:
-  - docker
-
-addons:
-  apt:
-    packages:
-    - apt-transport-https
-
-install:
-  - pip install PyYAML
-  - pip install virtualenv
-  - |
-    if [ ! -e Gemfile ]; then
-       curl -s -o ./Gemfile 'https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas/salt-formulas-scripts.git;a=blob_plain;f=Gemfile;hb=refs/heads/master'
-    fi
-  - bundle install
-
-env:
-    - PLATFORM=epcim/salt-formulas:saltstack-ubuntu-xenial-salt-2017.7 SUITE=default
-    - PLATFORM=epcim/salt-formulas:saltstack-ubuntu-xenial-salt-2016.3 SUITE=default
-#    - PLATFORM=epcim/salt-formulas:saltstack-ubuntu-bionic-salt-2017.7
-
-before_script:
-  - set -o pipefail
-  - make test | tail
-
-script:
-  - test ! -e .kitchen.yml || bundle exec kitchen converge ${SUITE} || true
-  - test ! -e .kitchen.yml || bundle exec kitchen verify ${SUITE} -t tests/integration
-
-notifications:
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6123573504759330786b
-    on_success: change # options: [always|never|change] default: always
-    on_failure: never  # options: [always|never|change] default: always
-    on_start: never    # options: [always|never|change] default: always
-    on_cancel: never   # options: [always|never|change] default: always
-    on_error: never    # options: [always|never|change] default: always
-  email: false
diff --git a/oslo_templates/files/queens/oslo/_concurrency.conf b/oslo_templates/files/queens/oslo/_concurrency.conf
index 856ae0d..cd6b7ed 100644
--- a/oslo_templates/files/queens/oslo/_concurrency.conf
+++ b/oslo_templates/files/queens/oslo/_concurrency.conf
@@ -16,3 +16,6 @@
 # tempfile.gettempdir function to find a suitable location. If
 # external locks are used, a lock path must be set. (string value)
 #lock_path = /tmp
+{%- if _data.lock_path is defined %}
+lock_path = {{ _data.lock_path }}
+{%- endif %}
diff --git a/oslo_templates/files/queens/oslo/messaging/_default.conf b/oslo_templates/files/queens/oslo/messaging/_default.conf
index 988a40c..8696cf9 100644
--- a/oslo_templates/files/queens/oslo/messaging/_default.conf
+++ b/oslo_templates/files/queens/oslo/messaging/_default.conf
@@ -5,14 +5,23 @@
 
 # Size of RPC connection pool. (integer value)
 #rpc_conn_pool_size = 30
+{%- if _data.rpc_conn_pool_size is defined %}
+rpc_conn_pool_size = {{ _data.rpc_conn_pool_size }}
+{%- endif %}
 
 # 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
@@ -52,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)
@@ -137,23 +150,38 @@
 # Maximum number of (green) threads to work concurrently. (integer
 # value)
 #rpc_thread_pool_size = 100
+{%- if _data.rpc_thread_pool_size is defined %}
+rpc_thread_pool_size = {{ _data.rpc_thread_pool_size }}
+{%- endif %}
 
 # 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
@@ -161,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..3a12be1 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)
@@ -162,7 +177,7 @@
 # server processes hog all the messages leaving others out of business.
 # 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 +200,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 +224,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 +248,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 +294,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/_concurrency.conf b/oslo_templates/files/rocky/oslo/_concurrency.conf
index 856ae0d..cd6b7ed 100644
--- a/oslo_templates/files/rocky/oslo/_concurrency.conf
+++ b/oslo_templates/files/rocky/oslo/_concurrency.conf
@@ -16,3 +16,6 @@
 # tempfile.gettempdir function to find a suitable location. If
 # external locks are used, a lock path must be set. (string value)
 #lock_path = /tmp
+{%- if _data.lock_path is defined %}
+lock_path = {{ _data.lock_path }}
+{%- endif %}
diff --git a/oslo_templates/files/rocky/oslo/messaging/_default.conf b/oslo_templates/files/rocky/oslo/messaging/_default.conf
index 2a785a8..cf3206a 100644
--- a/oslo_templates/files/rocky/oslo/messaging/_default.conf
+++ b/oslo_templates/files/rocky/oslo/messaging/_default.conf
@@ -5,12 +5,21 @@
 
 # Size of RPC connection pool. (integer value)
 #rpc_conn_pool_size = 30
+{%- if _data.rpc_conn_pool_size is defined %}
+rpc_conn_pool_size = {{ _data.rpc_conn_pool_size }}
+{%- endif %}
 
 # 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)
@@ -48,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)
@@ -68,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)
@@ -127,29 +143,47 @@
 
 # Maximum number of (green) threads to work concurrently. (integer value)
 #rpc_thread_pool_size = 100
+{%- if _data.rpc_thread_pool_size is defined %}
+rpc_thread_pool_size = {{ _data.rpc_thread_pool_size }}
+{%- endif %}
 
 # 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
