]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Add ceilometer-dbsync and fix some db-related deps
authorFrançois Charlier <fcharlier@ploup.net>
Mon, 10 Dec 2012 16:22:46 +0000 (17:22 +0100)
committerFrançois Charlier <fcharlier@ploup.net>
Mon, 10 Dec 2012 16:22:46 +0000 (17:22 +0100)
manifests/api.pp
manifests/collector.pp
manifests/db.pp [moved from manifests/db/init.pp with 68% similarity]
manifests/params.pp

index a9372367742a5d9d457821d710f6a142e3347040..bccdb471196c333dd3c35bea3187bcdfa5b1d1bc 100644 (file)
@@ -10,6 +10,8 @@ class ceilometer::api(
   $keystone_password = undef,
 ) {
 
+  include 'ceilometer::params'
+
   validate_string($keystone_password)
 
   package { 'ceilometer-api':
@@ -27,11 +29,10 @@ class 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;
index edb6feccb9327101bf5af4f3a1140f574e9bca0e..d8b86d992c1027ff6faa7c974bef53a2d44f3add 100644 (file)
@@ -5,6 +5,8 @@ class ceilometer::collector(
   $enabled = true,
 ) {
 
+  include 'ceilometer::params'
+
   package { 'ceilometer-collector':
     ensure => installed
   }
@@ -20,8 +22,8 @@ class ceilometer::collector(
     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']
 }
similarity index 68%
rename from manifests/db/init.pp
rename to manifests/db.pp
index 67c7c14035406baa2fc75a1f6c0e489577d0e770..778f254020c4b8fe497cbbd8b23557556fd41e68 100644 (file)
@@ -1,10 +1,12 @@
 # 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+)?')
 
@@ -37,4 +39,16 @@ class ceilometer::db::settings (
   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
+  }
+
 }
index e68e31b308786c4a1534eeb8e7bab467e143efa4..96b52019354dd34332e60969ef4b3ec98135f4c3 100644 (file)
@@ -13,4 +13,6 @@ class ceilometer::params {
   $agent_compute_service_name = 'ceilometer-agent-compute'
   $api_service_name           = 'ceilometer-api'
   $collector_service_name     = 'ceilometer-collector'
+
+  $dbsync_command             = 'ceilometer-dbsync'
 }