From 7e63d1229b0c5beb5f1eca72ebead476b55560be Mon Sep 17 00:00:00 2001 From: nitishkrishna Date: Wed, 21 Sep 2016 22:02:35 -0700 Subject: [PATCH] Closes-Bug: #1612774 - Ceilometer HA support Needs integration with tooz + couple missing params Change-Id: I89f0478455544a25d9fc66a2ec8e622a51cfa897 --- .../manifests/profile/openstack/ceilometer.pp | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/contrail/environment/modules/contrail/manifests/profile/openstack/ceilometer.pp b/contrail/environment/modules/contrail/manifests/profile/openstack/ceilometer.pp index 3e37766f..1f14b582 100644 --- a/contrail/environment/modules/contrail/manifests/profile/openstack/ceilometer.pp +++ b/contrail/environment/modules/contrail/manifests/profile/openstack/ceilometer.pp @@ -18,13 +18,17 @@ $controller_mgmt_address = $::contrail::params::os_controller_mgmt_address, $keystone_ip_to_use = $::contrail::params::keystone_ip_to_use, ) { - + $database_ip_to_use = $database_ip_list[0] $mongo_connection = join([ "mongodb://ceilometer:", $mongo_password, "@", join($database_ip_list,':27017,') ,":27017/ceilometer?replicaSet=rs-ceilometer" ],'') - $auth_url = "http://${keystone_ip_to_use}:5000/v2.0" $auth_password = $ceilometer_password $auth_tenant_name = 'services' $auth_username = 'ceilometer' + if (internal_vip!='') { + $coordination_url = join(["kazoo://", $database_ip_to_use, ':2181']) + } else { + $coordination_url = undef + } class { '::ceilometer': metering_secret => $metering_secret, @@ -32,12 +36,13 @@ verbose => $openstack_debug, rabbit_hosts => $openstack_rabbit_servers, } -> - file { '/etc/ceilometer/pipeline.yaml': ensure => file, content => template('contrail/pipeline.yaml.erb'), } -> - class { '::ceilometer::agent::central':} -> + class { '::ceilometer::agent::central': + coordination_url => $coordination_url + } -> contrail::lib::augeas_conf_rm { "ceilometer_rpc_backend": key => 'rpc_backend', config_file => '/etc/ceilometer/ceilometer.conf', @@ -46,23 +51,34 @@ } if $::osfamily != 'Debian' { class { '::ceilometer::alarm::notifier': - } - + } -> class { '::ceilometer::alarm::evaluator': + coordination_url => $coordination_url } } - - class { '::ceilometer::collector': } - + if (internal_vip!='') { + $ceilometer_ha_properties = { 'ceilometer_ha_config' => { + 'notification/workload_partitioning' => 'True', + 'compute/workload_partitioning' => 'True', + } + } + Contrail::Lib::Augeas_conf_rm['ceilometer_rpc_backend']-> + contrail::lib::augeas_conf_set{ "ceilometer_ha": + settings_hash => $ceilometer_ha_properties['ceilometer_ha_config'], + config_file => '/etc/ceilometer/ceilometer.conf', + lens_to_use => 'properties.lns' + } + } + class { '::ceilometer::collector': } -> class { '::ceilometer::agent::auth': auth_url => $auth_url, auth_password => $auth_password, auth_tenant_name => $auth_tenant_name, auth_user => $auth_username, - } + } -> class { '::ceilometer::db': database_connection => $mongo_connection - } + } -> class { '::ceilometer::api': enabled => true, keystone_host => $controller_mgmt_address,