Merge "Configure time to live for Ceilometer Alarm history"
This commit is contained in:
commit
6a5f6c0afb
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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' }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue