summaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_controller.pp
diff options
context:
space:
mode:
authorYanis Guenane <yanis.guenane@enovance.com>2015-04-29 09:19:11 +0200
committerYanis Guenane <yanis.guenane@enovance.com>2015-04-29 10:49:05 +0200
commit1850e765cef5f3899887caf142fa1b80c52d7312 (patch)
tree8bc42a370797f0c341d5daf4044623e2478ec3d6 /puppet/manifests/overcloud_controller.pp
parentc3144c9bf6ec39b6832845fdd41ecb4832ac6ed4 (diff)
Allow deployer to choose Ceilometer backend
Ceilometer can use different backends. A recent change moved backend support for Ceilometer from MySQL to MongoDB. This commit introduce a greater flexibility, letting the deployer choose wheter MySQL or MongoDB should be used as a backend for Ceilometer. Change-Id: I0d5bfb0763cbcee234df7ab13574d866743d5ddf
Diffstat (limited to 'puppet/manifests/overcloud_controller.pp')
-rw-r--r--puppet/manifests/overcloud_controller.pp45
1 files changed, 33 insertions, 12 deletions
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 7d36bb33..eca6a9da 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -79,17 +79,19 @@ if hiera('step') >= 2 {
}
# MongoDB
- include ::mongodb::globals
- include ::mongodb::server
- $mongo_node_ips = split(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,
+ if downcase(hiera('ceilometer_backend')) == 'mongodb' {
+ include ::mongodb::globals
+ include ::mongodb::server
+ $mongo_node_ips = split(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,
+ }
}
}
@@ -181,6 +183,16 @@ if hiera('step') >= 2 {
dbname => $heat_dsn[6],
allowed_hosts => $allowed_hosts,
}
+ if downcase(hiera('ceilometer_backend')) == 'mysql' {
+ $ceilometer_dsn = split(hiera('ceilometer_mysql_conn_string'), '[@:/?]')
+ 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 {
@@ -399,6 +411,15 @@ if hiera('step') >= 3 {
}
# Ceilometer
+ $ceilometer_backend = downcase(hiera('ceilometer_backend'))
+ case $ceilometer_backend {
+ /mysql/ : {
+ $ceilometer_database_connection = hiera('ceilometer_mysql_conn_string')
+ }
+ default : {
+ $ceilometer_database_connection = $ceilometer_mongodb_conn_string
+ }
+ }
include ::ceilometer
include ::ceilometer::api
include ::ceilometer::agent::notification
@@ -408,7 +429,7 @@ if hiera('step') >= 3 {
include ::ceilometer::expirer
include ::ceilometer::collector
class { '::ceilometer::db' :
- database_connection => $ceilometer_mongodb_conn_string,
+ database_connection => $ceilometer_database_connection,
}
class { 'ceilometer::agent::auth':
auth_url => join(['http://', hiera('controller_virtual_ip'), ':5000/v2.0']),