diff options
author | Yanis Guenane <yanis.guenane@enovance.com> | 2015-04-29 09:19:11 +0200 |
---|---|---|
committer | Yanis Guenane <yanis.guenane@enovance.com> | 2015-04-29 10:49:05 +0200 |
commit | 1850e765cef5f3899887caf142fa1b80c52d7312 (patch) | |
tree | 8bc42a370797f0c341d5daf4044623e2478ec3d6 /puppet/manifests/overcloud_controller.pp | |
parent | c3144c9bf6ec39b6832845fdd41ecb4832ac6ed4 (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.pp | 45 |
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']), |