Files
94b10397b42c2425a5a3d457e034ebf37a41bf6d
puppet-oslo /manifests /messaging /rabbit.pp

269 lines
13 KiB
ObjectPascal
Raw Normal View History

#Configureoslo_messaging_rabbitoptions
#
#ThisresourceconfiguresOslomessagingresourcesforanOpenStackservice.
#===Parameters:
#
#(optional)Definequeuesas"durable"torabbitmq.(booleanvalue)
#(optional)Defineiftransientqueuesshouldbeauto-deleted(booleanvalue)
#Defaultsto$facts['os_service_default']
#
#(Optional)SSLversiontouse(validonlyifSSLenabled).'
#andTLSv1_2maybeavailableonsomedistributions.(stringvalue)
#[*kombu_ssl_keyfile*]
#[*kombu_ssl_certfile*]
#[*kombu_ssl_ca_certs*]
#(stringvalue)
#[*kombu_reconnect_delay*]
#toanAMQPconsumercancelnotification.(floatingpointvalue)
#[*kombu_missing_consumer_retry_timeout*]
#(Optional)Howlongtowaitamissingclientbeforeabandoningtosendit
#(integervalue)
#[*kombu_failover_strategy*]
#wearecurrentlyconnectedtobecomesunavailable.Takeseffectonlyif
#morethanoneRabbitMQnodeisprovidedinconfig.(stringvalue)
#[*kombu_compression*]
#(optional)Possiblevaluesare:gzip,bz2.Ifnotsetcompressionwillnot
#beused.Thisoptionmaynotbeavailableinfutureversions.EXPERIMENTAL.
#(Optional)Specifiesthenumberofmessagestoprefetch
#[*rabbit_login_method*]
#[*rabbit_retry_interval*]
#(Optional)HowfrequentlytoretryconnectingwithRabbitMQ.
#[*rabbit_retry_backoff*]
#toRabbitMQ.(integervalue)
#[*rabbit_interval_max*]
#[*rabbit_ha_queues*]
#option,youmustwipetheRabbitMQdatabase.(booleanvalue)
#[*rabbit_transient_queues_ttl*]
#(Optional)Positiveintegerrepresentingdurationinsecondsfor
#queueTTL(x-expires).Queueswhichareunusedfortheduration
#oftheTTLareautomaticallydeleted.
#[*heartbeat_timeout_threshold*]
#(Optional)NumberofsecondsafterwhichtheRabbitbrokeris
#considereddownifheartbeat'skeep-alivefails
#[*heartbeat_rate*]
#(Optional)Howoftentimesduringtheheartbeat_timeout_threshold
#(Optional)UsequorumqueuesinRabbitMQ.
#Defaultsto$facts['os_service_default']
#
#(Optional)UsequorumqueuesfortransientsqueuesinRabbitMQ.
#Defaultsto$facts['os_service_default']
#
#(Optional)Eachtimeamessageisrdeliveredtoaconsumer,acounteris
#incremented.Oncetheredeliverycountexceedsthedeliverylimit
#themessagegetsdroppedordead-lettered.
#Defaultsto$facts['os_service_default']
#
#[*rabbit_quorum_max_memory_length*]
#(Optional)Limitthenumberofmessagesinthequorumqueue.
#Defaultsto$facts['os_service_default']
#
#[*rabbit_quorum_max_memory_bytes*]
#(Optional)Limitthenumberofmemorybytesusedbythequorumqueue.
#Defaultsto$facts['os_service_default']
#
#(Optional)Enablex-cancel-on-ha-failoverflagsothatrabbitmqserverwill
#cancelandnotifyconsumerswhenqueueisdown.
#Defaultsto$facts['os_service_default']
#
#(Optional)Shouldweuseconsistentqueuenamesorrandomones.
#Defaultsto$facts['os_service_default']
#
#[*hostname*]
#(Optional)Hostnameusedbyqueuemanager.
#Defaultsto$facts['os_service_default']
#
#[*processname*]
#(Optional)Processnameusedbyqueuemanager.
#Defaultsto$facts['os_service_default']
#
#(Optional)UsestreamqueuesinRabbitMQ(x-queue-type:stream)for
#fanoutqueues.
#Defaultsto$facts['os_service_default']
#
#
#[*heartbeat_in_pthread*]
#(Optional)EXPERIMENTAL:Runthehealthcheckheartbeatthread
#throughanativepythonthread.Bydefaultifthis
#optionisn'tprovidedthehealthcheckheartbeatwill
#inherittheexecutionmodelfromtheparentprocess.By
#exampleiftheparentprocesshavemonkeypatchedthe
#stdlibbyusingeventlet/greenletthentheheartbeat
#willberunthroughagreenthread.
#Defaultstoundef
#
$amqp_auto_delete=$facts['os_service_default'],
$kombu_ssl_keyfile=$facts['os_service_default'],
$kombu_ssl_certfile=$facts['os_service_default'],
$kombu_ssl_ca_certs=$facts['os_service_default'],
$kombu_reconnect_delay=$facts['os_service_default'],
$kombu_missing_consumer_retry_timeout=$facts['os_service_default'],
$kombu_failover_strategy=$facts['os_service_default'],
$kombu_compression=$facts['os_service_default'],
$rabbit_qos_prefetch_count=$facts['os_service_default'],
$rabbit_use_ssl=$facts['os_service_default'],
$rabbit_login_method=$facts['os_service_default'],
$rabbit_retry_interval=$facts['os_service_default'],
$rabbit_retry_backoff=$facts['os_service_default'],
$rabbit_interval_max=$facts['os_service_default'],
$rabbit_ha_queues=$facts['os_service_default'],
$rabbit_transient_queues_ttl=$facts['os_service_default'],
$heartbeat_timeout_threshold=$facts['os_service_default'],
$heartbeat_rate=$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'],
$enable_cancel_on_failover=$facts['os_service_default'],
$use_queue_manager=$facts['os_service_default'],
$hostname=$facts['os_service_default'],
$processname=$facts['os_service_default'],
$rabbit_stream_fanout=$facts['os_service_default'],
$heartbeat_in_pthread=undef,
warning('The heartbeat_in_pthread parameter is deprecated.')
}
$kombu_ssl_certfile_set=(!is_service_default($kombu_ssl_certfile)and($kombu_ssl_certfile))
$kombu_ssl_keyfile_set=(!is_service_default($kombu_ssl_keyfile)and($kombu_ssl_keyfile))
$kombu_ssl_version_set=(!is_service_default($kombu_ssl_version)and($kombu_ssl_version))
}
}
}
}
if($kombu_ssl_certfile_set!=$kombu_ssl_keyfile_set){
fail('The kombu_ssl_certfile parameter and the kombu_ssl_keyfile parameters must be used together')
}
fail('Unsupported Kombu compression. Possible values are gzip and bz2')
}
'oslo_messaging_rabbit/amqp_durable_queues'=>{ value => $amqp_durable_queues },
'oslo_messaging_rabbit/amqp_auto_delete'=>{ value => $amqp_auto_delete },
'oslo_messaging_rabbit/heartbeat_rate'=>{ value => $heartbeat_rate },
'oslo_messaging_rabbit/heartbeat_in_pthread'=>{ value => pick($heartbeat_in_pthread, $facts['os_service_default']) },
'oslo_messaging_rabbit/heartbeat_timeout_threshold'=>{ value => $heartbeat_timeout_threshold },
'oslo_messaging_rabbit/kombu_compression'=>{ value => $kombu_compression },
'oslo_messaging_rabbit/kombu_failover_strategy'=>{ value => $kombu_failover_strategy },
'oslo_messaging_rabbit/kombu_missing_consumer_retry_timeout'=>{ value => $kombu_missing_consumer_retry_timeout },
'oslo_messaging_rabbit/kombu_reconnect_delay'=>{ value => $kombu_reconnect_delay },
'oslo_messaging_rabbit/rabbit_interval_max'=>{ value => $rabbit_interval_max },
'oslo_messaging_rabbit/rabbit_login_method'=>{ value => $rabbit_login_method },
'oslo_messaging_rabbit/rabbit_retry_backoff'=>{ value => $rabbit_retry_backoff },
'oslo_messaging_rabbit/rabbit_retry_interval'=>{ value => $rabbit_retry_interval },
'oslo_messaging_rabbit/rabbit_transient_queues_ttl'=>{ value => $rabbit_transient_queues_ttl },
'oslo_messaging_rabbit/ssl'=>{ value => $rabbit_use_ssl },
'oslo_messaging_rabbit/rabbit_qos_prefetch_count'=>{ value => $rabbit_qos_prefetch_count },
'oslo_messaging_rabbit/rabbit_ha_queues'=>{ value => $rabbit_ha_queues },
'oslo_messaging_rabbit/rabbit_quorum_queue'=>{ value => $rabbit_quorum_queue },
'oslo_messaging_rabbit/rabbit_transient_quorum_queue'=>{ value => $rabbit_transient_quorum_queue },
'oslo_messaging_rabbit/rabbit_quorum_delivery_limit'=>{ value => $rabbit_quorum_delivery_limit },
'oslo_messaging_rabbit/rabbit_quorum_max_memory_length'=>{ value => $rabbit_quorum_max_memory_length },
'oslo_messaging_rabbit/rabbit_quorum_max_memory_bytes'=>{ value => $rabbit_quorum_max_memory_bytes },
'oslo_messaging_rabbit/enable_cancel_on_failover'=>{ value => $enable_cancel_on_failover },
'oslo_messaging_rabbit/use_queue_manager'=>{ value => $use_queue_manager },
'oslo_messaging_rabbit/hostname'=>{ value => $hostname },
'oslo_messaging_rabbit/processname'=>{ value => $processname },
'oslo_messaging_rabbit/rabbit_stream_fanout'=>{ value => $rabbit_stream_fanout },
'oslo_messaging_rabbit/ssl_ca_file'=>{ value => $kombu_ssl_ca_certs },
'oslo_messaging_rabbit/ssl_cert_file'=>{ value => $kombu_ssl_certfile },
'oslo_messaging_rabbit/ssl_key_file'=>{ value => $kombu_ssl_keyfile },
'oslo_messaging_rabbit/ssl_version'=>{ value => $kombu_ssl_version },
}
create_resources($name,$rabbit_options)