RabbitMQ: Add support for quorum queue options
Depends-on: https://review.opendev.org/894866 Change-Id: Ia11d14110a0a49056b4e582c20d360cf2953c28f
This commit is contained in:
		| @@ -37,6 +37,24 @@ | ||||
| #   will be run through a green thread. | ||||
| #   Defaults to $facts['os_service_default'] | ||||
| # | ||||
| # [*rabbit_quorum_queue*] | ||||
| #   (Optional) Use quorum queues in RabbitMQ. | ||||
| #   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 | ||||
| #   the message gets dropped or dead-lettered. | ||||
| #   Defaults to $facts['os_service_default'] | ||||
| # | ||||
| # [*rabbit_quorum_max_memory_length*] | ||||
| #   (Optional) Limit the number of messages in the quorum queue. | ||||
| #   Defaults to $facts['os_service_default'] | ||||
| # | ||||
| # [*rabbit_quorum_max_memory_bytes*] | ||||
| #   (Optional) Limit the number of memory bytes used by the quorum queue. | ||||
| #   Defaults to $facts['os_service_default'] | ||||
| # | ||||
| # [*rabbit_use_ssl*] | ||||
| #   (Optional) Connect over SSL for RabbitMQ. | ||||
| #   Defaults to $facts['os_service_default']. | ||||
| @@ -231,6 +249,10 @@ class cloudkitty( | ||||
|   $rabbit_heartbeat_rate              = $facts['os_service_default'], | ||||
|   $rabbit_heartbeat_in_pthread        = $facts['os_service_default'], | ||||
|   $rabbit_ha_queues                   = $facts['os_service_default'], | ||||
|   $rabbit_quorum_queue                = $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'], | ||||
|   $kombu_ssl_ca_certs                 = $facts['os_service_default'], | ||||
|   $kombu_ssl_certfile                 = $facts['os_service_default'], | ||||
|   $kombu_ssl_keyfile                  = $facts['os_service_default'], | ||||
| @@ -291,19 +313,23 @@ class cloudkitty( | ||||
|   } | ||||
|  | ||||
|   oslo::messaging::rabbit { 'cloudkitty_config': | ||||
|     rabbit_ha_queues            => $rabbit_ha_queues, | ||||
|     rabbit_use_ssl              => $rabbit_use_ssl, | ||||
|     amqp_durable_queues         => $amqp_durable_queues, | ||||
|     heartbeat_timeout_threshold => $rabbit_heartbeat_timeout_threshold, | ||||
|     heartbeat_rate              => $rabbit_heartbeat_rate, | ||||
|     heartbeat_in_pthread        => $rabbit_heartbeat_in_pthread, | ||||
|     kombu_ssl_version           => $kombu_ssl_version, | ||||
|     kombu_ssl_keyfile           => $kombu_ssl_keyfile, | ||||
|     kombu_ssl_certfile          => $kombu_ssl_certfile, | ||||
|     kombu_ssl_ca_certs          => $kombu_ssl_ca_certs, | ||||
|     kombu_reconnect_delay       => $kombu_reconnect_delay, | ||||
|     kombu_failover_strategy     => $kombu_failover_strategy, | ||||
|     kombu_compression           => $kombu_compression, | ||||
|     rabbit_ha_queues                => $rabbit_ha_queues, | ||||
|     rabbit_use_ssl                  => $rabbit_use_ssl, | ||||
|     amqp_durable_queues             => $amqp_durable_queues, | ||||
|     heartbeat_timeout_threshold     => $rabbit_heartbeat_timeout_threshold, | ||||
|     heartbeat_rate                  => $rabbit_heartbeat_rate, | ||||
|     heartbeat_in_pthread            => $rabbit_heartbeat_in_pthread, | ||||
|     kombu_ssl_version               => $kombu_ssl_version, | ||||
|     kombu_ssl_keyfile               => $kombu_ssl_keyfile, | ||||
|     kombu_ssl_certfile              => $kombu_ssl_certfile, | ||||
|     kombu_ssl_ca_certs              => $kombu_ssl_ca_certs, | ||||
|     kombu_reconnect_delay           => $kombu_reconnect_delay, | ||||
|     kombu_failover_strategy         => $kombu_failover_strategy, | ||||
|     kombu_compression               => $kombu_compression, | ||||
|     rabbit_quorum_queue             => $rabbit_quorum_queue, | ||||
|     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, | ||||
|   } | ||||
|  | ||||
|   oslo::messaging::amqp { 'cloudkitty_config': | ||||
|   | ||||
| @@ -0,0 +1,5 @@ | ||||
| --- | ||||
| features: | ||||
|   - | | ||||
|     The ``cloudkitty`` class now supports options for quorum queues in | ||||
|     RabbitMQ. | ||||
| @@ -28,20 +28,24 @@ describe 'cloudkitty' do | ||||
|           :control_exchange     => '<SERVICE DEFAULT>' | ||||
|         ) | ||||
|         is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with( | ||||
|           :rabbit_use_ssl              => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_timeout_threshold => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_rate              => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_in_pthread        => '<SERVICE DEFAULT>', | ||||
|           :kombu_reconnect_delay       => '<SERVICE DEFAULT>', | ||||
|           :kombu_failover_strategy     => '<SERVICE DEFAULT>', | ||||
|           :amqp_durable_queues         => '<SERVICE DEFAULT>', | ||||
|           :kombu_compression           => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_ca_certs          => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_certfile          => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_keyfile           => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_version           => '<SERVICE DEFAULT>', | ||||
|           :rabbit_ha_queues            => '<SERVICE DEFAULT>', | ||||
|           :rabbit_retry_interval       => '<SERVICE DEFAULT>', | ||||
|           :rabbit_use_ssl                     => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_timeout_threshold        => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_rate                     => '<SERVICE DEFAULT>', | ||||
|           :heartbeat_in_pthread               => '<SERVICE DEFAULT>', | ||||
|           :kombu_reconnect_delay              => '<SERVICE DEFAULT>', | ||||
|           :kombu_failover_strategy            => '<SERVICE DEFAULT>', | ||||
|           :amqp_durable_queues                => '<SERVICE DEFAULT>', | ||||
|           :kombu_compression                  => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_ca_certs                 => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_certfile                 => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_keyfile                  => '<SERVICE DEFAULT>', | ||||
|           :kombu_ssl_version                  => '<SERVICE DEFAULT>', | ||||
|           :rabbit_ha_queues                   => '<SERVICE DEFAULT>', | ||||
|           :rabbit_retry_interval              => '<SERVICE DEFAULT>', | ||||
|           :rabbit_quorum_queue                => '<SERVICE DEFAULT>', | ||||
|           :rabbit_quorum_delivery_limit       => '<SERVICE DEFAULT>', | ||||
|           :rabbit_quorum_max_memory_length    => '<SERVICE DEFAULT>', | ||||
|           :rabbit_quorum_max_memory_bytes     => '<SERVICE DEFAULT>', | ||||
|         ) | ||||
|         is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with( | ||||
|           :transport_url => '<SERVICE DEFAULT>', | ||||
| @@ -86,10 +90,14 @@ describe 'cloudkitty' do | ||||
|       let :params do | ||||
|         { | ||||
|           :rabbit_ha_queues                   => true, | ||||
|           :rabbit_heartbeat_timeout_threshold => '60', | ||||
|           :rabbit_heartbeat_rate              => '10', | ||||
|           :rabbit_heartbeat_timeout_threshold => 60, | ||||
|           :rabbit_heartbeat_rate              => 10, | ||||
|           :rabbit_heartbeat_in_pthread        => true, | ||||
|           :kombu_reconnect_delay              => '5.0', | ||||
|           :rabbit_quorum_queue                => true, | ||||
|           :rabbit_quorum_delivery_limit       => 3, | ||||
|           :rabbit_quorum_max_memory_length    => 5, | ||||
|           :rabbit_quorum_max_memory_bytes     => 1073741824, | ||||
|           :kombu_reconnect_delay              => 5.0, | ||||
|           :amqp_durable_queues                => true, | ||||
|           :kombu_compression                  => 'gzip', | ||||
|           :package_ensure                     => '2012.1.1-15.el6', | ||||
| @@ -110,13 +118,17 @@ describe 'cloudkitty' do | ||||
|           :control_exchange     => 'cloudkitty' | ||||
|         ) | ||||
|         is_expected.to contain_oslo__messaging__rabbit('cloudkitty_config').with( | ||||
|           :heartbeat_timeout_threshold => '60', | ||||
|           :heartbeat_rate              => '10', | ||||
|           :heartbeat_in_pthread        => true, | ||||
|           :kombu_reconnect_delay       => '5.0', | ||||
|           :amqp_durable_queues         => true, | ||||
|           :kombu_compression           => 'gzip', | ||||
|           :rabbit_ha_queues            => true, | ||||
|           :heartbeat_timeout_threshold        => 60, | ||||
|           :heartbeat_rate                     => 10, | ||||
|           :heartbeat_in_pthread               => true, | ||||
|           :kombu_reconnect_delay              => 5.0, | ||||
|           :amqp_durable_queues                => true, | ||||
|           :kombu_compression                  => 'gzip', | ||||
|           :rabbit_ha_queues                   => true, | ||||
|           :rabbit_quorum_queue                => true, | ||||
|           :rabbit_quorum_delivery_limit       => 3, | ||||
|           :rabbit_quorum_max_memory_length    => 5, | ||||
|           :rabbit_quorum_max_memory_bytes     => 1073741824, | ||||
|         ) | ||||
|         is_expected.to contain_oslo__messaging__notifications('cloudkitty_config').with( | ||||
|           :transport_url => '<SERVICE DEFAULT>', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Takashi Kajinami
					Takashi Kajinami