puppet: Ceilometer use MongoDB datastore backend
authorEmilien Macchi <emilien@redhat.com>
Wed, 18 Mar 2015 16:01:20 +0000 (12:01 -0400)
committerYanis Guenane <yanis.guenane@enovance.com>
Wed, 15 Apr 2015 12:52:10 +0000 (14:52 +0200)
This patch configure Ceilometer to use MongoDB backend.

Change-Id: I22be0e22e7a3991ebd2d3aa7d14c518418a2458a

puppet/controller-puppet.yaml
puppet/manifests/overcloud_controller.pp

index 305c3dc..f9f40a5 100644 (file)
@@ -556,12 +556,6 @@ resources:
               - ':35357/v2.0'
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
-        ceilometer_dsn:
-          list_join:
-            - ''
-            - - 'mysql://ceilometer:unset@'
-              - {get_param: VirtualIP}
-              - '/ceilometer'
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
         nova_password: {get_param: NovaPassword}
@@ -774,7 +768,6 @@ resources:
                 ceilometer::api::keystone_password: {get_input: ceilometer_password}
                 ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
                 ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
-                ceilometer::db::database_connection: {get_input: ceilometer_dsn}
                 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
                 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
index 9ec224a..bc4a25b 100644 (file)
@@ -44,8 +44,10 @@ if hiera('step') >= 2 {
   include ::mongodb::server
   $mongo_node_ips = split(downcase(hiera('mongo_node_ips')), ',')
   $mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017')
+  $mongo_node_string = join($mongo_node_ips_with_port, ',')
 
   $mongodb_replset = hiera('mongodb::server::replset')
+  $ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
   if downcase(hiera('bootstrap_nodeid')) == $::hostname {
     mongodb_replset { $mongodb_replset :
       members => $mongo_node_ips_with_port,
@@ -120,14 +122,6 @@ if hiera('step') >= 2 {
     dbname        => $heat_dsn[6],
     allowed_hosts => $allowed_hosts,
   }
-  $ceilometer_dsn = split(hiera('ceilometer::db::database_connection'), '[@:/?]')
-  class { 'ceilometer::db::mysql':
-    user          => $ceilometer_dsn[3],
-    password      => $ceilometer_dsn[4],
-    host          => $ceilometer_dsn[5],
-    dbname        => $ceilometer_dsn[6],
-    allowed_hosts => $allowed_hosts,
-  }
 
   $rabbit_nodes = split(downcase(hiera('rabbit_node_names', $::hostname)), ',')
   if count($rabbit_nodes) > 1 {
@@ -340,13 +334,15 @@ if hiera('step') >= 3 {
   # Ceilometer
   include ::ceilometer
   include ::ceilometer::api
-  include ::ceilometer::db
   include ::ceilometer::agent::notification
   include ::ceilometer::agent::central
   include ::ceilometer::alarm::notifier
   include ::ceilometer::alarm::evaluator
   include ::ceilometer::expirer
   include ::ceilometer::collector
+  class { '::ceilometer::db' :
+    database_connection => $ceilometer_mongodb_conn_string,
+  }
   class { 'ceilometer::agent::auth':
     auth_url => join(['http://', hiera('controller_virtual_ip'), ':5000/v2.0']),
   }