# (optional) ensure state for package.
# Defaults to 'present'
#
+# [*coordination_url*]
+# (optional) The url to use for distributed group membership coordination.
+# Defaults to undef.
+#
class ceilometer::agent::central (
$manage_service = true,
$enabled = true,
$package_ensure = 'present',
+ $coordination_url = undef,
) {
include ceilometer::params
hasrestart => true,
}
+ if $coordination_url {
+ ensure_resource('ceilometer_config', 'coordination/backend_url',
+ {'value' => $coordination_url})
+ }
}
# (optional) Record alarm change events
# Defaults to true.
#
+# [*coordination_url*]
+# (optional) The url to use for distributed group membership coordination.
+# Defaults to undef.
+#
class ceilometer::alarm::evaluator (
$manage_service = true,
$enabled = true,
$evaluation_service = 'ceilometer.alarm.service.SingletonAlarmService',
$partition_rpc_topic = 'alarm_partition_coordination',
$record_history = true,
+ $coordination_url = undef,
) {
include ceilometer::params
'alarm/evaluation_service' : value => $evaluation_service;
'alarm/partition_rpc_topic' : value => $partition_rpc_topic;
'alarm/record_history' : value => $record_history;
- }
+ }
+
+ if $coordination_url {
+ ensure_resource('ceilometer_config', 'coordination/backend_url',
+ {'value' => $coordination_url})
+ }
}
end
let :params do
- { :enabled => true,
- :manage_service => true,
- :package_ensure => 'latest' }
+ { :enabled => true,
+ :manage_service => true,
+ :package_ensure => 'latest',
+ :coordination_url => 'redis://localhost:6379'
+ }
end
shared_examples_for 'ceilometer-agent-central' do
end
end
+ it 'configures central agent' do
+ should contain_ceilometer_config('coordination/backend_url').with_value( params[:coordination_url] )
+ end
+
context 'with disabled service managing' do
before do
params.merge!({
should contain_ceilometer_config('alarm/evaluation_service').with_value( params[:evaluation_service] )
should contain_ceilometer_config('alarm/partition_rpc_topic').with_value( params[:partition_rpc_topic] )
should contain_ceilometer_config('alarm/record_history').with_value( params[:record_history] )
+ should_not contain_ceilometer_config('coordination/backend_url')
end
context 'when overriding parameters' do
params.merge!(:evaluation_interval => 80,
:partition_rpc_topic => 'alarm_partition_coordination',
:record_history => false,
- :evaluation_service => 'ceilometer.alarm.service.SingletonTestAlarmService')
+ :evaluation_service => 'ceilometer.alarm.service.SingletonTestAlarmService',
+ :coordination_url => 'redis://localhost:6379')
end
it { should contain_ceilometer_config('alarm/evaluation_interval').with_value(params[:evaluation_interval]) }
it { should contain_ceilometer_config('alarm/evaluation_service').with_value(params[:evaluation_service]) }
it { should contain_ceilometer_config('alarm/record_history').with_value(params[:record_history]) }
it { should contain_ceilometer_config('alarm/partition_rpc_topic').with_value(params[:partition_rpc_topic]) }
+ it { should contain_ceilometer_config('coordination/backend_url').with_value( params[:coordination_url]) }
end
context 'when override the evaluation interval with a non numeric value' do