Merge "Configure time to live for Ceilometer Alarm history"

This commit is contained in:
Jenkins 2015-12-07 11:18:10 +00:00 committed by Gerrit Code Review
commit 6a5f6c0afb
6 changed files with 125 additions and 114 deletions

View File

@ -7,60 +7,62 @@
#
class openstack::ceilometer (
$keystone_password = 'ceilometer_pass',
$keystone_user = 'ceilometer',
$keystone_tenant = 'services',
$keystone_region = 'RegionOne',
$metering_secret = 'ceilometer',
$verbose = false,
$use_syslog = false,
$use_stderr = true,
$syslog_log_facility = 'LOG_LOCAL0',
$default_log_levels = undef,
$debug = false,
$db_type = 'mysql',
$db_host = 'localhost',
$db_user = 'ceilometer',
$db_password = 'ceilometer_pass',
$db_dbname = 'ceilometer',
$swift_rados_backend = false,
$mongo_replicaset = undef,
$amqp_hosts = '127.0.0.1',
$amqp_user = 'guest',
$amqp_password = 'rabbit_pw',
$rabbit_ha_queues = false,
$keystone_protocol = 'http',
$keystone_host = '127.0.0.1',
$host = '0.0.0.0',
$port = '8777',
$on_controller = false,
$on_compute = false,
$ha_mode = false,
$ext_mongo = false,
$keystone_password = 'ceilometer_pass',
$keystone_user = 'ceilometer',
$keystone_tenant = 'services',
$keystone_region = 'RegionOne',
$metering_secret = 'ceilometer',
$verbose = false,
$use_syslog = false,
$use_stderr = true,
$syslog_log_facility = 'LOG_LOCAL0',
$default_log_levels = undef,
$debug = false,
$db_type = 'mysql',
$db_host = 'localhost',
$db_user = 'ceilometer',
$db_password = 'ceilometer_pass',
$db_dbname = 'ceilometer',
$swift_rados_backend = false,
$mongo_replicaset = undef,
$amqp_hosts = '127.0.0.1',
$amqp_user = 'guest',
$amqp_password = 'rabbit_pw',
$rabbit_ha_queues = false,
$keystone_protocol = 'http',
$keystone_host = '127.0.0.1',
$host = '0.0.0.0',
$port = '8777',
$on_controller = false,
$on_compute = false,
$ha_mode = false,
$ext_mongo = false,
# ttl is 1 week (3600*24*7)
$os_endpoint_type = 'internalURL',
$event_time_to_live = '604800',
$metering_time_to_live = '604800',
$http_timeout = '600',
$os_endpoint_type = 'internalURL',
$alarm_history_time_to_live = '604800',
$event_time_to_live = '604800',
$metering_time_to_live = '604800',
$http_timeout = '600',
) {
# Add the base ceilometer class & parameters
# This class is required by ceilometer agents & api classes
# The metering_secret parameter is mandatory
class { '::ceilometer':
http_timeout => $http_timeout,
event_time_to_live => $event_time_to_live,
metering_time_to_live => $metering_time_to_live,
package_ensure => 'present',
rabbit_hosts => split($amqp_hosts, ','),
rabbit_userid => $amqp_user,
rabbit_password => $amqp_password,
metering_secret => $metering_secret,
verbose => $verbose,
debug => $debug,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
log_facility => $syslog_log_facility,
http_timeout => $http_timeout,
event_time_to_live => $event_time_to_live,
metering_time_to_live => $metering_time_to_live,
alarm_history_time_to_live => $alarm_history_time_to_live,
package_ensure => 'present',
rabbit_hosts => split($amqp_hosts, ','),
rabbit_userid => $amqp_user,
rabbit_password => $amqp_password,
metering_secret => $metering_secret,
verbose => $verbose,
debug => $debug,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
log_facility => $syslog_log_facility,
}
# TODO (iberezovskiy): Move to globals (as it is done for sahara)

View File

@ -8,13 +8,14 @@ $management_vip = hiera('management_vip')
$service_endpoint = hiera('service_endpoint')
$default_ceilometer_hash = {
'enabled' => false,
'db_password' => 'ceilometer',
'user_password' => 'ceilometer',
'metering_secret' => 'ceilometer',
'http_timeout' => '600',
'event_time_to_live' => '604800',
'metering_time_to_live' => '604800',
'enabled' => false,
'db_password' => 'ceilometer',
'user_password' => 'ceilometer',
'metering_secret' => 'ceilometer',
'http_timeout' => '600',
'event_time_to_live' => '604800',
'metering_time_to_live' => '604800',
'alarm_history_time_to_live' => '604800',
}
$region = hiera('region', 'RegionOne')
@ -35,26 +36,27 @@ $keystone_endpoint = get_ssl_property($ssl_hash, {}, 'keystone', 'inter
if ($ceilometer_enabled) {
class { 'openstack::ceilometer':
verbose => $verbose,
debug => $debug,
default_log_levels => $default_log_levels,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
syslog_log_facility => $syslog_log_facility,
amqp_hosts => hiera('amqp_hosts',''),
amqp_user => $amqp_user,
amqp_password => $amqp_password,
keystone_user => $ceilometer_hash['user'],
keystone_tenant => $ceilometer_hash['tenant'],
keystone_region => $ceilometer_region,
keystone_protocol => $keystone_protocol,
keystone_host => $keystone_endpoint,
keystone_password => $ceilometer_user_password,
on_compute => true,
metering_secret => $ceilometer_metering_secret,
event_time_to_live => $ceilometer_hash['event_time_to_live'],
metering_time_to_live => $ceilometer_hash['metering_time_to_live'],
http_timeout => $ceilometer_hash['http_timeout'],
verbose => $verbose,
debug => $debug,
default_log_levels => $default_log_levels,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
syslog_log_facility => $syslog_log_facility,
amqp_hosts => hiera('amqp_hosts',''),
amqp_user => $amqp_user,
amqp_password => $amqp_password,
keystone_user => $ceilometer_hash['user'],
keystone_tenant => $ceilometer_hash['tenant'],
keystone_region => $ceilometer_region,
keystone_protocol => $keystone_protocol,
keystone_host => $keystone_endpoint,
keystone_password => $ceilometer_user_password,
on_compute => true,
metering_secret => $ceilometer_metering_secret,
alarm_history_time_to_live => $ceilometer_hash['alarm_history_time_to_live'],
event_time_to_live => $ceilometer_hash['event_time_to_live'],
metering_time_to_live => $ceilometer_hash['metering_time_to_live'],
http_timeout => $ceilometer_hash['http_timeout'],
}
# We need to restart nova-compute service in orderto apply new settings

View File

@ -1,13 +1,14 @@
notice('MODULAR: ceilometer/controller.pp')
$default_ceilometer_hash = {
'enabled' => false,
'db_password' => 'ceilometer',
'user_password' => 'ceilometer',
'metering_secret' => 'ceilometer',
'http_timeout' => '600',
'event_time_to_live' => '604800',
'metering_time_to_live' => '604800',
'enabled' => false,
'db_password' => 'ceilometer',
'user_password' => 'ceilometer',
'metering_secret' => 'ceilometer',
'http_timeout' => '600',
'event_time_to_live' => '604800',
'metering_time_to_live' => '604800',
'alarm_history_time_to_live' => '604800',
}
$ceilometer_hash = hiera_hash('ceilometer', $default_ceilometer_hash)
@ -83,36 +84,37 @@ if $ceilometer_hash['enabled'] {
if ($ceilometer_enabled) {
class { 'openstack::ceilometer':
verbose => $verbose,
debug => $debug,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
syslog_log_facility => $syslog_log_facility,
default_log_levels => $default_log_levels,
db_type => $ceilometer_db_type,
db_host => $mongo_hosts,
db_user => $ceilometer_db_user,
db_password => $ceilometer_db_password,
db_dbname => $ceilometer_db_dbname,
swift_rados_backend => $swift_rados_backend,
metering_secret => $ceilometer_metering_secret,
amqp_hosts => hiera('amqp_hosts',''),
amqp_user => $amqp_user,
amqp_password => $amqp_password,
rabbit_ha_queues => $rabbit_ha_queues,
keystone_protocol => $keystone_protocol,
keystone_host => $keystone_endpoint,
keystone_password => $ceilometer_user_password,
keystone_user => $ceilometer_hash['user'],
keystone_tenant => $ceilometer_hash['tenant'],
keystone_region => $ceilometer_region,
host => $api_bind_address,
ha_mode => $ha_mode,
on_controller => true,
ext_mongo => $external_mongo,
mongo_replicaset => $mongo_replicaset,
event_time_to_live => $ceilometer_hash['event_time_to_live'],
metering_time_to_live => $ceilometer_hash['metering_time_to_live'],
http_timeout => $ceilometer_hash['http_timeout'],
verbose => $verbose,
debug => $debug,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
syslog_log_facility => $syslog_log_facility,
default_log_levels => $default_log_levels,
db_type => $ceilometer_db_type,
db_host => $mongo_hosts,
db_user => $ceilometer_db_user,
db_password => $ceilometer_db_password,
db_dbname => $ceilometer_db_dbname,
swift_rados_backend => $swift_rados_backend,
metering_secret => $ceilometer_metering_secret,
amqp_hosts => hiera('amqp_hosts',''),
amqp_user => $amqp_user,
amqp_password => $amqp_password,
rabbit_ha_queues => $rabbit_ha_queues,
keystone_protocol => $keystone_protocol,
keystone_host => $keystone_endpoint,
keystone_password => $ceilometer_user_password,
keystone_user => $ceilometer_hash['user'],
keystone_tenant => $ceilometer_hash['tenant'],
keystone_region => $ceilometer_region,
host => $api_bind_address,
ha_mode => $ha_mode,
on_controller => true,
ext_mongo => $external_mongo,
mongo_replicaset => $mongo_replicaset,
alarm_history_time_to_live => $ceilometer_hash['alarm_history_time_to_live'],
event_time_to_live => $ceilometer_hash['event_time_to_live'],
metering_time_to_live => $ceilometer_hash['metering_time_to_live'],
http_timeout => $ceilometer_hash['http_timeout'],
}
}

View File

@ -306,6 +306,7 @@ $heat_roles = ['primary-controller', 'controller']
$sahara_roles = ['primary-controller', 'controller']
# Define ceilometer-releated parameters
if !$ceilometer_hash['alarm_history_time_to_live'] { $ceilometer_hash['alarm_history_time_to_live'] = '604800'}
if !$ceilometer_hash['event_time_to_live'] { $ceilometer_hash['event_time_to_live'] = '604800'}
if !$ceilometer_hash['metering_time_to_live'] { $ceilometer_hash['metering_time_to_live'] = '604800' }
if !$ceilometer_hash['http_timeout'] { $ceilometer_hash['http_timeout'] = '600' }

View File

@ -12,10 +12,12 @@ describe manifest do
it 'should configure OS ENDPOINT TYPE for ceilometer' do
should contain_ceilometer_config('service_credentials/os_endpoint_type').with(:value => 'internalURL')
end
alarm_ttl = ceilometer_hash['alarm_history_time_to_live'] ? (ceilometer_hash['alarm_history_time_to_live']) : ('604800')
event_ttl = ceilometer_hash['event_time_to_live'] ? (ceilometer_hash['event_time_to_live']) : ('604800')
metering_ttl = ceilometer_hash['metering_time_to_live'] ? (ceilometer_hash['metering_time_to_live']) : ('604800')
http_timeout = ceilometer_hash['http_timeout'] ? (ceilometer_hash['http_timeout']) : ('600')
it 'should configure time to live for events and meters' do
it 'should configure time to live for alarm history, events and meters' do
should contain_ceilometer_config('database/alarm_history_time_to_live').with(:value => alarm_ttl)
should contain_ceilometer_config('database/event_time_to_live').with(:value => event_ttl)
should contain_ceilometer_config('database/metering_time_to_live').with(:value => metering_ttl)
end

View File

@ -28,10 +28,12 @@ describe manifest do
it 'should configure OS ENDPOINT TYPE for ceilometer' do
should contain_ceilometer_config('service_credentials/os_endpoint_type').with(:value => 'internalURL')
end
alarm_ttl = ceilometer_hash['alarm_history_time_to_live'] ? (ceilometer_hash['alarm_history_time_to_live']) : ('604800')
event_ttl = ceilometer_hash['event_time_to_live'] ? (ceilometer_hash['event_time_to_live']) : ('604800')
metering_ttl = ceilometer_hash['metering_time_to_live'] ? (ceilometer_hash['metering_time_to_live']) : ('604800')
http_timeout = ceilometer_hash['http_timeout'] ? (ceilometer_hash['http_timeout']) : ('600')
it 'should configure time to live for events and meters' do
it 'should configure time to live for alarm history, events and meters' do
should contain_ceilometer_config('database/alarm_history_time_to_live').with(:value => alarm_ttl)
should contain_ceilometer_config('database/event_time_to_live').with(:value => event_ttl)
should contain_ceilometer_config('database/metering_time_to_live').with(:value => metering_ttl)
end