$keystone_password = undef,
) {
+ include 'ceilometer::params'
+
validate_string($keystone_password)
package { 'ceilometer-api':
enable => $enabled,
hasstatus => true,
hasrestart => true,
- require => Package['ceilometer-api']
+ require => [Package['ceilometer-api'], Class['ceilometer::db']],
+ subscribe => Exec['ceilometer-dbsync']
}
- Service['ceilometer-api'] -> Class['ceilometer::db']
-
ceilometer_setting {
'keystone_authtoken/auth_host' : value => $keystone_host;
'keystone_authtoken/auth_port' : value => $keystone_port;
$enabled = true,
) {
+ include 'ceilometer::params'
+
package { 'ceilometer-collector':
ensure => installed
}
enable => $enabled,
hasstatus => true,
hasrestart => true,
- require => Package['ceilometer-collector']
+ require => [Package['ceilometer-collector'], Class['ceilometer::db']],
+ subscribe => Exec['ceilometer-dbsync']
}
- Service['ceilometer-collector'] -> Class['ceilometer::db']
}
# Ceilometer::Db::Settings class
#
#
-class ceilometer::db::settings (
+class ceilometer::db (
$database_connection = 'mysql://ceilometer:ceilometer@127.0.0.1/ceilometer'
) {
+ include 'ceilometer::params'
+
validate_re($database_connection,
'(sqlite|mysql|posgres|mongodb):\/\/(\S+:\S+@\S+\/\S+)?')
ceilometer_setting {
'DEFAULT/database_connection': value => $database_connection;
}
+
+ Ceilometer_setting['DEFAULT/database_connection'] ~> Exec['ceilometer-dbsync']
+
+ exec{ 'ceilometer-dbsync':
+ command => $::ceilometer::params::dbsync_command,
+ require => Package['ceilometer-collector'],
+ user => $::ceilometer::params::username,
+ refreshonly => true,
+ logoutput => on_failure,
+ subscribe => Ceilometer
+ }
+
}
$agent_compute_service_name = 'ceilometer-agent-compute'
$api_service_name = 'ceilometer-api'
$collector_service_name = 'ceilometer-collector'
+
+ $dbsync_command = 'ceilometer-dbsync'
}