# secret key for signing messages. Mandatory.
# [*package_ensure*]
# ensure state for package. Optional. Defaults to 'present'
-# [*verbose*]
-# should the daemons log verbose messages. Optional. Defaults to 'False'
# [*debug*]
# should the daemons log debug messages. Optional. Defaults to 'False'
+# [*log_dir*]
+# (optional) directory to which ceilometer logs are sent.
+# Defaults to '/var/log/ceilometer'
+# [*verbose*]
+# should the daemons log verbose messages. Optional. Defaults to 'False'
+# [*use_syslog*]
+# (optional) Use syslog for logging
+# Defaults to false
+# [*log_facility*]
+# (optional) Syslog facility to receive log lines.
+# Defaults to 'LOG_USER'
# [*rpc_backend*]
# (optional) what rpc/queuing service to use
# Defaults to impl_kombu (rabbitmq)
class ceilometer(
$metering_secret = false,
$package_ensure = 'present',
- $verbose = false,
$debug = false,
+ $log_dir = '/var/log/ceilometer',
+ $verbose = false,
+ $use_syslog = false,
+ $log_facility = 'LOG_USER',
$rpc_backend = 'ceilometer.openstack.common.rpc.impl_kombu',
$rabbit_host = '127.0.0.1',
$rabbit_port = 5672,
'DEFAULT/rpc_backend' : value => $rpc_backend;
'DEFAULT/metering_secret' : value => $metering_secret;
'DEFAULT/debug' : value => $debug;
+ 'DEFAULT/log_dir' : value => $log_dir;
'DEFAULT/verbose' : value => $verbose;
- 'DEFAULT/log_dir' : value => $::ceilometer::params::log_dir;
# Fix a bad default value in ceilometer.
# Fixed in https: //review.openstack.org/#/c/18487/
'DEFAULT/glance_control_exchange': value => 'glance';
value => 'notifications,glance_notifications';
}
+ # Syslog configuration
+ if $use_syslog {
+ ceilometer_config {
+ 'DEFAULT/use_syslog': value => true;
+ 'DEFAULT/syslog_log_facility': value => $log_facility;
+ }
+ } else {
+ ceilometer_config {
+ 'DEFAULT/use_syslog': value => false;
+ }
+ }
+
}
{
:metering_secret => 'metering-s3cr3t',
:package_ensure => 'present',
- :verbose => 'False',
:debug => 'False',
+ :log_dir => '/var/log/ceilometer',
+ :verbose => 'False',
}
end
it { expect { should raise_error(Puppet::Error) } }
end
- it 'configures debug and verbose' do
+ it 'configures logging, debug and verbosity' do
should contain_ceilometer_config('DEFAULT/debug').with_value( params[:debug] )
+ should contain_ceilometer_config('DEFAULT/log_dir').with_value( params[:log_dir] )
should contain_ceilometer_config('DEFAULT/verbose').with_value( params[:verbose] )
end
+ it 'configures syslog to be disabled by default' do
+ should contain_ceilometer_config('DEFAULT/use_syslog').with_value('false')
+ end
+
+ context 'with syslog enabled' do
+ before { params.merge!( :use_syslog => 'true' ) }
+
+ it { should contain_ceilometer_config('DEFAULT/use_syslog').with_value('true') }
+ it { should contain_ceilometer_config('DEFAULT/syslog_log_facility').with_value('LOG_USER') }
+ end
+
+ context 'with syslog enabled and custom settings' do
+ before { params.merge!(
+ :use_syslog => 'true',
+ :log_facility => 'LOG_LOCAL0'
+ ) }
+
+ it { should contain_ceilometer_config('DEFAULT/use_syslog').with_value('true') }
+ it { should contain_ceilometer_config('DEFAULT/syslog_log_facility').with_value('LOG_LOCAL0') }
+ end
+
it 'fixes a bad value in ceilometer (glance_control_exchange)' do
should contain_ceilometer_config('DEFAULT/glance_control_exchange').with_value('glance')
end