Merge "Fix loglevel set up for Openstack services"
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