diff --git a/manifests/init.pp b/manifests/init.pp index fecfcc8f5..21c89dcef 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -94,6 +94,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 @@ -352,6 +360,10 @@ # in the keystone config. # Defaults to false. # +# [*amqp_auto_delete*] +# (Optional) Define if transient queues should be auto-deleted (boolean value) +# Defaults to $facts['os_service_default'] +# # [*amqp_durable_queues*] # (Optional) Whether to use durable queues in AMQP. # Defaults to $facts['os_service_default']. @@ -398,6 +410,7 @@ class keystone( $rabbit_ha_queues = $facts['os_service_default'], $rabbit_quorum_queue = $facts['os_service_default'], $rabbit_transient_quorum_queue = $facts['os_service_default'], + $rabbit_transient_queues_ttl = $facts['os_service_default'], $rabbit_quorum_delivery_limit = $facts['os_service_default'], $rabbit_quorum_max_memory_length = $facts['os_service_default'], $rabbit_quorum_max_memory_bytes = $facts['os_service_default'], @@ -442,6 +455,7 @@ class keystone( $max_request_body_size = $facts['os_service_default'], Boolean $purge_config = false, $amqp_durable_queues = $facts['os_service_default'], + $amqp_auto_delete = $facts['os_service_default'], # DEPRECATED PARAMETERS $rabbit_heartbeat_in_pthread = undef, ) inherits keystone::params { @@ -557,8 +571,10 @@ class keystone( heartbeat_in_pthread => $rabbit_heartbeat_in_pthread, rabbit_qos_prefetch_count => $rabbit_qos_prefetch_count, amqp_durable_queues => $amqp_durable_queues, + amqp_auto_delete => $amqp_auto_delete, 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-f22621cced65e5f4.yaml b/releasenotes/notes/amqp_auto_delete-f22621cced65e5f4.yaml new file mode 100644 index 000000000..bb24709f3 --- /dev/null +++ b/releasenotes/notes/amqp_auto_delete-f22621cced65e5f4.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/transient_queues_ttl-a9709a5539d0202a.yaml b/releasenotes/notes/transient_queues_ttl-a9709a5539d0202a.yaml new file mode 100644 index 000000000..1cd2231e0 --- /dev/null +++ b/releasenotes/notes/transient_queues_ttl-a9709a5539d0202a.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + A new parameter ``rabbit_transient_queues_ttl`` has been added to the + keystone class to configure how long transient queue should stay until + they are automatically deleted. diff --git a/spec/classes/keystone_init_spec.rb b/spec/classes/keystone_init_spec.rb index 443fc2872..e3cdf2d20 100644 --- a/spec/classes/keystone_init_spec.rb +++ b/spec/classes/keystone_init_spec.rb @@ -82,8 +82,10 @@ describe 'keystone' do :heartbeat_in_pthread => nil, :rabbit_qos_prefetch_count => '', :amqp_durable_queues => '', + :amqp_auto_delete => '', :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 => '',