summaryrefslogtreecommitdiffstats
path: root/manifests/profile
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile')
-rw-r--r--manifests/profile/base/ceilometer/collector.pp68
1 files changed, 45 insertions, 23 deletions
diff --git a/manifests/profile/base/ceilometer/collector.pp b/manifests/profile/base/ceilometer/collector.pp
index e892478..443873f 100644
--- a/manifests/profile/base/ceilometer/collector.pp
+++ b/manifests/profile/base/ceilometer/collector.pp
@@ -27,9 +27,30 @@
# for more details.
# Defaults to hiera('step')
#
+# [*ceilometer_backend*]
+# (Optional) The ceilometer backend to use.
+# Defaults to hiera('ceilometer_backend', 'mongodb')
+#
+# [*mongodb_ipv6*]
+# (Optional) Flag to indicate if mongodb is using ipv6
+# Defaults to hiera('mongodb::server::ipv6', false)
+#
+# [*mongodb_node_ips*]
+# (Optional) Array of mongodb node ip address. Required if backend is set
+# to mongodb.
+# Defaults to hiera('mongodb_node_ips', [])
+#
+# [*mongodb_replset*]
+# (Optional) Replica set for mongodb. Required if backend is mongodb
+# Defaults to hiera(''mongodb::server::replset', '')
+#
class tripleo::profile::base::ceilometer::collector (
- $bootstrap_node = hiera('bootstrap_nodeid', undef),
- $step = hiera('step'),
+ $bootstrap_node = hiera('bootstrap_nodeid', undef),
+ $step = hiera('step'),
+ $ceilometer_backend = hiera('ceilometer_backend', 'mongodb'),
+ $mongodb_ipv6 = hiera('mongodb::server::ipv6', false),
+ $mongodb_node_ips = hiera('mongodb_node_ips', []),
+ $mongodb_replset = hiera('mongodb::server::replset', undef)
) {
if $::hostname == downcase($bootstrap_node) {
$sync_db = true
@@ -37,26 +58,6 @@ class tripleo::profile::base::ceilometer::collector (
$sync_db = false
}
- $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb'))
- # MongoDB
- if $ceilometer_backend == 'mongodb' {
- # NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port and
- # without the brackets as 'members' argument for the 'mongodb_replset'
- # resource.
- if str2bool(hiera('mongodb::server::ipv6', false)) {
- $mongo_node_ips_with_port_prefixed = prefix(hiera('mongodb_node_ips'), '[')
- $mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017')
- $mongo_node_ips_with_port_nobr = suffix(hiera('mongodb_node_ips'), ':27017')
- } else {
- $mongo_node_ips_with_port = suffix(hiera('mongodb_node_ips'), ':27017')
- $mongo_node_ips_with_port_nobr = suffix(hiera('mongodb_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}"
- }
-
include ::tripleo::profile::base::ceilometer
if $step >= 3 and $sync_db {
@@ -64,7 +65,28 @@ class tripleo::profile::base::ceilometer::collector (
}
if $step >= 4 or ($step >= 3 and $sync_db) {
- if $ceilometer_backend == 'mongodb' {
+ if downcase($ceilometer_backend) == 'mongodb' {
+ if empty($mongodb_node_ips) {
+ fail('Provided mongodb node ip addresses are empty')
+ }
+ if !$mongodb_replset {
+ fail('mongodb_replset is required when using mongodb')
+ }
+ # NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port
+ # and without the brackets as 'members' argument for the 'mongodb_replset'
+ # resource.
+ if str2bool($mongodb_ipv6) {
+ $mongo_node_ips_with_port_prefixed = prefix($mongodb_node_ips, '[')
+ $mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017')
+ $mongo_node_ips_with_port_nobr = suffix($mongodb_node_ips, ':27017')
+ } else {
+ $mongo_node_ips_with_port = suffix($mongodb_node_ips, ':27017')
+ $mongo_node_ips_with_port_nobr = suffix($mongodb_node_ips, ':27017')
+ }
+ $mongo_node_string = join($mongo_node_ips_with_port, ',')
+
+ $ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
+
class { '::ceilometer::db' :
database_connection => $ceilometer_mongodb_conn_string,
}