From 0f5f8f09296621036dc84e409aa4fda5649bb052 Mon Sep 17 00:00:00 2001 From: Pradeep Kilambi Date: Fri, 1 Jul 2016 14:16:52 -0400 Subject: Fix Ceilometer profiles * Configure ceilometer to default mongodb backend. * remove useless sync_db parameter in pacemaker class. * Remove duplicated resource for ceilometer central agent service with pcmk. * Remove pacemaker delay resource dependency, the resource does not exist anymore. Change-Id: Ie337bfe770c5b22158dc307eb36e39c2b93b95a9 --- manifests/profile/base/ceilometer.pp | 10 ++----- manifests/profile/base/ceilometer/collector.pp | 38 +++++++++++++++++++++---- manifests/profile/pacemaker/ceilometer.pp | 39 ++++---------------------- manifests/profile/pacemaker/ceilometer/api.pp | 7 ----- 4 files changed, 40 insertions(+), 54 deletions(-) (limited to 'manifests') diff --git a/manifests/profile/base/ceilometer.pp b/manifests/profile/base/ceilometer.pp index 97e1bb8..88818de 100644 --- a/manifests/profile/base/ceilometer.pp +++ b/manifests/profile/base/ceilometer.pp @@ -23,18 +23,12 @@ # for more details. # Defaults to hiera('step') # -# [*sync_db*] -# (Optional) Whether to run db sync -# Defaults to true -# class tripleo::profile::base::ceilometer ( - $step = hiera('step'), - $sync_db = true, + $step = hiera('step'), ) { - if $step >= 4 or ($step >= 3 and $sync_db) { + if $step >= 3 { include ::ceilometer - include ::ceilometer::db include ::ceilometer::config } diff --git a/manifests/profile/base/ceilometer/collector.pp b/manifests/profile/base/ceilometer/collector.pp index 34ee90b..c294e56 100644 --- a/manifests/profile/base/ceilometer/collector.pp +++ b/manifests/profile/base/ceilometer/collector.pp @@ -33,16 +33,44 @@ class tripleo::profile::base::ceilometer::collector ( $sync_db = true, ) { + $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('mongo_node_ips'), '[') + $mongo_node_ips_with_port = suffix($mongo_node_ips_with_port_prefixed, ']:27017') + $mongo_node_ips_with_port_nobr = suffix(hiera('mongo_node_ips'), ':27017') + } else { + $mongo_node_ips_with_port = suffix(hiera('mongo_node_ips'), ':27017') + $mongo_node_ips_with_port_nobr = suffix(hiera('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}" + } + include ::tripleo::profile::base::ceilometer + if $step >= 2 and $sync_db and $ceilometer_backend == 'mysql' { + include ::ceilometer::db::mysql + } + if $step >= 3 and $sync_db { - $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb')) - if $ceilometer_backend == 'mysql' { - include ::ceilometer::db::mysql - } + include ::ceilometer::db::sync } - if $step >= 4 { + if $step >= 4 or ($step >= 3 and $sync_db) { + if $ceilometer_backend == 'mongodb' { + class { '::ceilometer::db' : + database_connection => $ceilometer_mongodb_conn_string, + } + } else { + include ::ceilometer::db + } include ::ceilometer::collector include ::ceilometer::dispatcher::gnocchi } diff --git a/manifests/profile/pacemaker/ceilometer.pp b/manifests/profile/pacemaker/ceilometer.pp index 0c21807..23021fc 100644 --- a/manifests/profile/pacemaker/ceilometer.pp +++ b/manifests/profile/pacemaker/ceilometer.pp @@ -27,47 +27,18 @@ # for more details. # Defaults to hiera('step') # -# [*sync_db*] -# (Optional) Whether to run db sync -# Defaults to undef -# class tripleo::profile::pacemaker::ceilometer ( $bootstrap_node = hiera('bootstrap_nodeid'), $step = hiera('step'), - $sync_db = true, ) { - if $::hostname == downcase($bootstrap_node) { - $pacemaker_master = true - } else { - $pacemaker_master = false - } - include ::tripleo::profile::base::ceilometer - if $step >= 5 and $pacemaker_master { - $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb')) - case $ceilometer_backend { - /mysql/: { - pacemaker::resource::service { $::ceilometer::params::agent_central_service_name: - clone_params => 'interleave=true', - require => Pacemaker::Resource::Ocf['openstack-core'], - } - } - default: { - pacemaker::resource::service { $::ceilometer::params::agent_central_service_name: - clone_params => 'interleave=true', - require => [Pacemaker::Resource::Ocf['openstack-core'], - Pacemaker::Resource::Service[$::mongodb::params::service_name]], - } - } - } - - if $sync_db { - if $ceilometer_backend == 'mysql' { - class { '::ceilometer::db::mysql': - require => Exec['galera-ready'], - } + $ceilometer_backend = downcase(hiera('ceilometer_backend', 'mongodb')) + if $step >= 5 and $::hostname == downcase($bootstrap_node) { + if $ceilometer_backend == 'mysql' { + class { '::ceilometer::db::mysql': + require => Exec['galera-ready'], } } diff --git a/manifests/profile/pacemaker/ceilometer/api.pp b/manifests/profile/pacemaker/ceilometer/api.pp index cfe103a..3006be8 100644 --- a/manifests/profile/pacemaker/ceilometer/api.pp +++ b/manifests/profile/pacemaker/ceilometer/api.pp @@ -40,13 +40,6 @@ class tripleo::profile::pacemaker::ceilometer::api ( pacemaker::resource::service { $::ceilometer::params::api_service_name : clone_params => 'interleave=true', } - pacemaker::constraint::colocation { 'ceilometer-delay-with-ceilometer-api-colocation': - source => 'delay-clone', - target => "${::ceilometer::params::api_service_name}-clone", - score => 'INFINITY', - require => [Pacemaker::Resource::Service[$::ceilometer::params::api_service_name], - Pacemaker::Resource::Ocf['delay']], - } } } -- cgit 1.2.3-korg