# (Optional) A list of memcached server(s) to use for caching. (list value)
# Defaults to $::os_service_default
#
+# [*amqp_server_request_prefix*]
+# (Optional) Address prefix used when sending to a specific server
+# Defaults to $::os_service_default.
+#
+# [*amqp_broadcast_prefix*]
+# (Optional) address prefix used when broadcasting to all servers
+# Defaults to $::os_service_default.
+#
+# [*amqp_group_request_prefix*]
+# (Optional) address prefix when sending to any server in group
+# Defaults to $::os_service_default.
+#
+# [*amqp_container_name*]
+# (Optional) Name for the AMQP container
+# Defaults to $::os_service_default.
+#
+# [*amqp_idle_timeout*]
+# (Optional) Timeout for inactive connections
+# Defaults to $::os_service_default.
+#
+# [*amqp_trace*]
+# (Optional) Debug: dump AMQP frames to stdout
+# Defaults to $::os_service_default.
+#
+# [*amqp_ssl_ca_file*]
+# (Optional) CA certificate PEM file to verify server certificate
+# Defaults to $::os_service_default.
+#
+# [*amqp_ssl_cert_file*]
+# (Optional) Identifying certificate PEM file to present to clients
+# Defaults to $::os_service_default.
+#
+# [*amqp_ssl_key_file*]
+# (Optional) Private key PEM file used to sign cert_file certificate
+# Defaults to $::os_service_default.
+#
+# [*amqp_ssl_key_password*]
+# (Optional) Password for decrypting ssl_key_file (if encrypted)
+# Defaults to $::os_service_default.
+#
+# [*amqp_allow_insecure_clients*]
+# (Optional) Accept clients using either SSL or plain TCP
+# Defaults to $::os_service_default.
+#
+# [*amqp_sasl_mechanisms*]
+# (Optional) Space separated list of acceptable SASL mechanisms
+# Defaults to $::os_service_default.
+#
+# [*amqp_sasl_config_dir*]
+# (Optional) Path to directory that contains the SASL configuration
+# Defaults to $::os_service_default.
+#
+# [*amqp_sasl_config_name*]
+# (Optional) Name of configuration file (without .conf suffix)
+# Defaults to $::os_service_default.
+#
+# [*amqp_username*]
+# (Optional) User name for message broker authentication
+# Defaults to $::os_service_default.
+#
+# [*amqp_password*]
+# (Optional) Password for message broker authentication
+# Defaults to $::os_service_default.
+#
# === DEPRECATED PARAMETERS:
#
# [*alarm_history_time_to_live*]
$kombu_reconnect_delay = $::os_service_default,
$kombu_compression = $::os_service_default,
$memcached_servers = $::os_service_default,
+ $amqp_server_request_prefix = $::os_service_default,
+ $amqp_broadcast_prefix = $::os_service_default,
+ $amqp_group_request_prefix = $::os_service_default,
+ $amqp_container_name = $::os_service_default,
+ $amqp_idle_timeout = $::os_service_default,
+ $amqp_trace = $::os_service_default,
+ $amqp_ssl_ca_file = $::os_service_default,
+ $amqp_ssl_cert_file = $::os_service_default,
+ $amqp_ssl_key_file = $::os_service_default,
+ $amqp_ssl_key_password = $::os_service_default,
+ $amqp_allow_insecure_clients = $::os_service_default,
+ $amqp_sasl_mechanisms = $::os_service_default,
+ $amqp_sasl_config_dir = $::os_service_default,
+ $amqp_sasl_config_name = $::os_service_default,
+ $amqp_username = $::os_service_default,
+ $amqp_password = $::os_service_default,
# DEPRECATED PARAMETERS
$alarm_history_time_to_live = undef,
) {
kombu_reconnect_delay => $kombu_reconnect_delay,
kombu_compression => $kombu_compression,
}
+ } elsif $rpc_backend == 'amqp' {
+ oslo::messaging::amqp { 'ceilometer_config':
+ server_request_prefix => $amqp_server_request_prefix,
+ broadcast_prefix => $amqp_broadcast_prefix,
+ group_request_prefix => $amqp_group_request_prefix,
+ container_name => $amqp_container_name,
+ idle_timeout => $amqp_idle_timeout,
+ trace => $amqp_trace,
+ ssl_ca_file => $amqp_ssl_ca_file,
+ ssl_cert_file => $amqp_ssl_cert_file,
+ ssl_key_file => $amqp_ssl_key_file,
+ ssl_key_password => $amqp_ssl_key_password,
+ allow_insecure_clients => $amqp_allow_insecure_clients,
+ sasl_mechanisms => $amqp_sasl_mechanisms,
+ sasl_config_dir => $amqp_sasl_config_dir,
+ sasl_config_name => $amqp_sasl_config_name,
+ username => $amqp_username,
+ password => $amqp_password,
+ }
} else {
nova_config { 'DEFAULT/rpc_backend': value => $rpc_backend }
}
end
end
+ context 'with amqp rpc_backend value' do
+ it_configures 'amqp support'
+ end
+
end
shared_examples_for 'a ceilometer base installation' do
end
end
+ shared_examples_for 'amqp support' do
+ context 'with default parameters' do
+ before { params.merge!( :rpc_backend => 'amqp' ) }
+
+ it { is_expected.to contain_ceilometer_config('DEFAULT/rpc_backend').with_value('amqp') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/server_request_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/broadcast_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/group_request_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/container_name').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/idle_timeout').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/trace').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_ca_file').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_cert_file').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_key_file').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_key_password').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/allow_insecure_clients').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_mechanisms').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_config_dir').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_config_name').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/username').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/password').with_value('<SERVICE DEFAULT>') }
+ end
+
+ context 'with overriden amqp parameters' do
+ before { params.merge!(
+ :rpc_backend => 'amqp',
+ :amqp_idle_timeout => '60',
+ :amqp_trace => true,
+ :amqp_ssl_ca_file => '/path/to/ca.cert',
+ :amqp_ssl_cert_file => '/path/to/certfile',
+ :amqp_ssl_key_file => '/path/to/key',
+ :amqp_username => 'amqp_user',
+ :amqp_password => 'password',
+ ) }
+
+ it { is_expected.to contain_ceilometer_config('DEFAULT/rpc_backend').with_value('amqp') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/server_request_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/broadcast_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/group_request_prefix').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/container_name').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/idle_timeout').with_value('60') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/trace').with_value('true') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_ca_file').with_value('/path/to/ca.cert') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_cert_file').with_value('/path/to/certfile') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/ssl_key_file').with_value('/path/to/key') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/allow_insecure_clients').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_mechanisms').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_config_dir').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/sasl_config_name').with_value('<SERVICE DEFAULT>') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/username').with_value('amqp_user') }
+ it { is_expected.to contain_ceilometer_config('oslo_messaging_amqp/password').with_value('password') }
+ end
+ end
+
context 'on Debian platforms' do
let :facts do
@default_facts.merge({ :osfamily => 'Debian' })