+++ /dev/null
-#
-# used to configure rabbitmq notifications for glance
-#
-# [*rabbit_password*]
-# password to connect to the rabbit_server.
-# [*rabbit_userid*]
-# user to connect to the rabbit server. Optional. Defaults to 'guest'
-# [*rabbit_host*]
-# ip or hostname of the rabbit server. Optional. Defaults to 'localhost'
-# [*rabbit_port*]
-# port of the rabbit server. Optional. Defaults to 5672.
-# [*rabbit_virtual_host*]
-# virtual_host to use. Optional. Defaults to '/'
-# [*rabbit_use_ssl*]
-# (optional) Connect over SSL for RabbitMQ
-# Defaults to false
-# [*kombu_ssl_ca_certs*]
-# (optional) SSL certification authority file (valid only if SSL enabled).
-# Defaults to undef
-# [*kombu_ssl_certfile*]
-# (optional) SSL cert file (valid only if SSL enabled).
-# Defaults to undef
-# [*kombu_ssl_keyfile*]
-# (optional) SSL key file (valid only if SSL enabled).
-# Defaults to undef
-# [*kombu_ssl_version*]
-# (optional) SSL version to use (valid only if SSL enabled).
-# Valid values are TLSv1, SSLv23 and SSLv3. SSLv2 may be
-# available on some distributions.
-# Defaults to 'TLSv1'
-# [*rabbit_notification_exchange*]
-# Defaults to 'glance'
-# [*rabbit_notification_topic*]
-# Defaults to 'notifications'
-# [*rabbit_durable_queues*]
-# Defaults to false
-#
-# [*notification_driver*]
-# Notification driver to use. Defaults to 'messaging'.
-
-class glance::notify::rabbitmq(
- $rabbit_password,
- $rabbit_userid = 'guest',
- $rabbit_host = 'localhost',
- $rabbit_port = '5672',
- $rabbit_hosts = false,
- $rabbit_virtual_host = '/',
- $rabbit_use_ssl = false,
- $kombu_ssl_ca_certs = undef,
- $kombu_ssl_certfile = undef,
- $kombu_ssl_keyfile = undef,
- $kombu_ssl_version = 'TLSv1',
- $rabbit_notification_exchange = 'glance',
- $rabbit_notification_topic = 'notifications',
- $rabbit_durable_queues = false,
- $amqp_durable_queues = false,
- $notification_driver = 'messaging',
-) {
-
- if $rabbit_durable_queues {
- warning('The rabbit_durable_queues parameter is deprecated, use amqp_durable_queues.')
- $amqp_durable_queues_real = $rabbit_durable_queues
- } else {
- $amqp_durable_queues_real = $amqp_durable_queues
- }
-
- if $rabbit_hosts {
- glance_api_config {
- 'DEFAULT/rabbit_hosts': value => join($rabbit_hosts, ',');
- 'DEFAULT/rabbit_ha_queues': value => true
- }
- } else {
- glance_api_config {
- 'DEFAULT/rabbit_host': value => $rabbit_host;
- 'DEFAULT/rabbit_port': value => $rabbit_port;
- 'DEFAULT/rabbit_hosts': value => "${rabbit_host}:${rabbit_port}";
- 'DEFAULT/rabbit_ha_queues': value => false
- }
- }
-
- glance_api_config {
- 'DEFAULT/notification_driver': value => $notification_driver;
- 'DEFAULT/rabbit_virtual_host': value => $rabbit_virtual_host;
- 'DEFAULT/rabbit_password': value => $rabbit_password, secret => true;
- 'DEFAULT/rabbit_userid': value => $rabbit_userid;
- 'DEFAULT/rabbit_notification_exchange': value => $rabbit_notification_exchange;
- 'DEFAULT/rabbit_notification_topic': value => $rabbit_notification_topic;
- 'DEFAULT/rabbit_use_ssl': value => $rabbit_use_ssl;
- 'DEFAULT/amqp_durable_queues': value => $amqp_durable_queues_real;
- }
-
- if $rabbit_use_ssl {
- glance_api_config { 'DEFAULT/kombu_ssl_version': value => $kombu_ssl_version }
-
- if $kombu_ssl_ca_certs {
- glance_api_config { 'DEFAULT/kombu_ssl_ca_certs': value => $kombu_ssl_ca_certs }
- } else {
- glance_api_config { 'DEFAULT/kombu_ssl_ca_certs': ensure => absent}
- }
-
- if $kombu_ssl_certfile {
- glance_api_config { 'DEFAULT/kombu_ssl_certfile': value => $kombu_ssl_certfile }
- } else {
- glance_api_config { 'DEFAULT/kombu_ssl_certfile': ensure => absent}
- }
-
- if $kombu_ssl_keyfile {
- glance_api_config { 'DEFAULT/kombu_ssl_keyfile': value => $kombu_ssl_keyfile }
- } else {
- glance_api_config { 'DEFAULT/kombu_ssl_keyfile': ensure => absent}
- }
- } else {
- glance_api_config {
- 'DEFAULT/kombu_ssl_version': ensure => absent;
- 'DEFAULT/kombu_ssl_ca_certs': ensure => absent;
- 'DEFAULT/kombu_ssl_certfile': ensure => absent;
- 'DEFAULT/kombu_ssl_keyfile': ensure => absent;
- }
- if ($kombu_ssl_keyfile or $kombu_ssl_certfile or $kombu_ssl_ca_certs) {
- notice('Configuration of certificates with $rabbit_use_ssl == false is a useless config')
- }
- }
-}