diff --git a/manifests/init.pp b/manifests/init.pp index f66c697..9f9871a 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -35,6 +35,14 @@ # (Optional) Use quorum queues for transients queues in RabbitMQ. # Defaults to $facts['os_service_default'] # +# [*rabbit_transient_queues_ttl*] +# (Optional) 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) +# Min to 1 +# Defaults to $facts['os_service_default'] +# # [*rabbit_quorum_delivery_limit*] # (Optional) Each time a message is rdelivered to a consumer, a counter is # incremented. Once the redelivery count exceeds the delivery limit @@ -87,6 +95,10 @@ # more than one RabbitMQ node is provided in config. (string value) # Defaults to $facts['os_service_default'] # +# [*amqp_auto_delete*] +# (Optional) Define if transient queues should be auto-deleted (boolean value) +# Defaults to $facts['os_service_default'] +# # [*kombu_compression*] # (optional) Possible values are: gzip, bz2. If not set compression will not # be used. This option may not be available in future versions. EXPERIMENTAL. @@ -205,6 +217,7 @@ class cloudkitty( $rabbit_heartbeat_rate = $facts['os_service_default'], $rabbit_ha_queues = $facts['os_service_default'], $rabbit_quorum_queue = $facts['os_service_default'], + $rabbit_transient_queues_ttl = $facts['os_service_default'], $rabbit_transient_quorum_queue = $facts['os_service_default'], $rabbit_quorum_delivery_limit = $facts['os_service_default'], $rabbit_quorum_max_memory_length = $facts['os_service_default'], @@ -218,6 +231,7 @@ class cloudkitty( $kombu_failover_strategy = $facts['os_service_default'], $kombu_compression = $facts['os_service_default'], $amqp_durable_queues = $facts['os_service_default'], + $amqp_auto_delete = $facts['os_service_default'], $default_transport_url = $facts['os_service_default'], $rpc_response_timeout = $facts['os_service_default'], $control_exchange = $facts['os_service_default'], @@ -261,6 +275,7 @@ class cloudkitty( rabbit_ha_queues => $rabbit_ha_queues, rabbit_use_ssl => $rabbit_use_ssl, amqp_durable_queues => $amqp_durable_queues, + amqp_auto_delete => $amqp_auto_delete, heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold, heartbeat_rate => $rabbit_heartbeat_rate, heartbeat_in_pthread => $rabbit_heartbeat_in_pthread, @@ -273,6 +288,7 @@ class cloudkitty( kombu_compression => $kombu_compression, rabbit_quorum_queue => $rabbit_quorum_queue, rabbit_transient_quorum_queue => $rabbit_transient_quorum_queue, + rabbit_transient_queues_ttl => $rabbit_transient_queues_ttl, rabbit_quorum_delivery_limit => $rabbit_quorum_delivery_limit, rabbit_quorum_max_memory_length => $rabbit_quorum_max_memory_length, rabbit_quorum_max_memory_bytes => $rabbit_quorum_max_memory_bytes, diff --git a/releasenotes/notes/amqp_auto_delete-b31f2692f860936b.yaml b/releasenotes/notes/amqp_auto_delete-b31f2692f860936b.yaml new file mode 100644 index 0000000..bb24709 --- /dev/null +++ b/releasenotes/notes/amqp_auto_delete-b31f2692f860936b.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add a new ``amqp_auto_delete`` parameter, so that transient queues are + automatically deleted. diff --git a/releasenotes/notes/rabbit_transient_queues_ttl-fece011cafe302d4.yaml b/releasenotes/notes/rabbit_transient_queues_ttl-fece011cafe302d4.yaml new file mode 100644 index 0000000..3d4d2b8 --- /dev/null +++ b/releasenotes/notes/rabbit_transient_queues_ttl-fece011cafe302d4.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + A new parameter ``rabbit_transient_queues_ttl`` has been added to the + cloudkitty class to configure how long transtient queue should stay until + they are automatically deleted. diff --git a/spec/classes/cloudkitty_init_spec.rb b/spec/classes/cloudkitty_init_spec.rb index 7bfcb20..92a7675 100644 --- a/spec/classes/cloudkitty_init_spec.rb +++ b/spec/classes/cloudkitty_init_spec.rb @@ -35,6 +35,7 @@ describe 'cloudkitty' do :kombu_reconnect_delay => '', :kombu_failover_strategy => '', :amqp_durable_queues => '', + :amqp_auto_delete => '', :kombu_compression => '', :kombu_ssl_ca_certs => '', :kombu_ssl_certfile => '', @@ -44,6 +45,7 @@ describe 'cloudkitty' do :rabbit_retry_interval => '', :rabbit_quorum_queue => '', :rabbit_transient_quorum_queue => '', + :rabbit_transient_queues_ttl => '', :rabbit_quorum_delivery_limit => '', :rabbit_quorum_max_memory_length => '', :rabbit_quorum_max_memory_bytes => '', @@ -79,12 +81,14 @@ describe 'cloudkitty' do :rabbit_heartbeat_in_pthread => true, :rabbit_quorum_queue => true, :rabbit_transient_quorum_queue => false, + :rabbit_transient_queues_ttl => 60, :rabbit_quorum_delivery_limit => 3, :rabbit_quorum_max_memory_length => 5, :rabbit_quorum_max_memory_bytes => 1073741824, :rabbit_enable_cancel_on_failover => false, :kombu_reconnect_delay => 5.0, :amqp_durable_queues => true, + :amqp_auto_delete => true, :kombu_compression => 'gzip', :package_ensure => '2012.1.1-15.el6', :default_transport_url => 'rabbit://rabbit_user:password@localhost:5673', @@ -111,10 +115,12 @@ describe 'cloudkitty' do :heartbeat_in_pthread => true, :kombu_reconnect_delay => 5.0, :amqp_durable_queues => true, + :amqp_auto_delete => true, :kombu_compression => 'gzip', :rabbit_ha_queues => true, :rabbit_quorum_queue => true, :rabbit_transient_quorum_queue => false, + :rabbit_transient_queues_ttl => 60, :rabbit_quorum_delivery_limit => 3, :rabbit_quorum_max_memory_length => 5, :rabbit_quorum_max_memory_bytes => 1073741824,