diff --git a/manifests/init.pp b/manifests/init.pp index f47fb788..7d7557fe 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -132,6 +132,14 @@ # (Optional) Limit the number of memory bytes used by the quorum queue. # Defaults to $facts['os_service_default'] # +# [*rabbit_use_queue_manager*] +# (Optional) Should we use consistant queue names or random ones. +# Defaults to $facts['os_service_default'] +# +# [*rabbit_stream_fanout*] +# (Optional) Use stream queues in RabbitMQ (x-queue-type: stream). +# Defaults to $facts['os_service_default'] +# # [*rabbit_enable_cancel_on_failover*] # (Optional) Enable x-cancel-on-ha-failover flag so that rabbitmq server will # cancel and notify consumers when queue is down. @@ -268,6 +276,8 @@ class ironic ( $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'], + $rabbit_use_queue_manager = $facts['os_service_default'], + $rabbit_stream_fanout = $facts['os_service_default'], $rabbit_enable_cancel_on_failover = $facts['os_service_default'], $kombu_ssl_ca_certs = $facts['os_service_default'], $kombu_ssl_certfile = $facts['os_service_default'], @@ -360,6 +370,8 @@ class ironic ( 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, + use_queue_manager => $rabbit_use_queue_manager, + rabbit_stream_fanout => $rabbit_stream_fanout, enable_cancel_on_failover => $rabbit_enable_cancel_on_failover, } diff --git a/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml b/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml new file mode 100644 index 00000000..bfb5e9d5 --- /dev/null +++ b/releasenotes/notes/queue_manager-and-stream_fanout-8ab853943287b1db.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The ``ironic`` class now has two new parameters + ``rabbit_use_queue_manager`` and ``rabbit_stream_fanout``. diff --git a/spec/classes/ironic_init_spec.rb b/spec/classes/ironic_init_spec.rb index 4896bcfa..73e6179d 100644 --- a/spec/classes/ironic_init_spec.rb +++ b/spec/classes/ironic_init_spec.rb @@ -92,6 +92,8 @@ describe 'ironic' do :rabbit_quorum_delivery_limit => '', :rabbit_quorum_max_memory_length => '', :rabbit_quorum_max_memory_bytes => '', + :use_queue_manager => '', + :rabbit_stream_fanout => '', :enable_cancel_on_failover => '', ) is_expected.to contain_oslo__messaging__notifications('ironic_config').with( @@ -136,6 +138,8 @@ describe 'ironic' do :rabbit_quorum_delivery_limit => 3, :rabbit_quorum_max_memory_length => 5, :rabbit_quorum_max_memory_bytes => 1073741824, + :rabbit_use_queue_manager => true, + :rabbit_stream_fanout => true, :rabbit_enable_cancel_on_failover => false, :notification_transport_url => 'rabbit://rabbit_user:password@localhost:5673', :notification_driver => 'messagingv2', @@ -184,6 +188,8 @@ describe 'ironic' do :rabbit_quorum_delivery_limit => 3, :rabbit_quorum_max_memory_length => 5, :rabbit_quorum_max_memory_bytes => 1073741824, + :use_queue_manager => true, + :rabbit_stream_fanout => true, :enable_cancel_on_failover => false, ) is_expected.to contain_oslo__messaging__notifications('ironic_config').with(