From 146ef38fef524a56ae2f9ca731857daf026a4cdc Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Wed, 26 Feb 2014 11:08:31 +0100 Subject: [PATCH] telemetry: do not use mongodb primary node anymore Before, the synchronization was done only if the telemetry server was also a mongodb primary node, which has no sense. This patch aims to ensure mongodb servers can be outside telemetry nodes. Close bug #297 Signed-off-by: Emilien Macchi --- manifests/telemetry/server.pp | 9 +------ spec/classes/cloud_telemetry_server_spec.rb | 27 +++++---------------- 2 files changed, 7 insertions(+), 29 deletions(-) diff --git a/manifests/telemetry/server.pp b/manifests/telemetry/server.pp index a9f65015..c6df8f8f 100644 --- a/manifests/telemetry/server.pp +++ b/manifests/telemetry/server.pp @@ -23,7 +23,6 @@ class cloud::telemetry::server( $ks_ceilometer_password = $os_params::ks_ceilometer_password, $api_eth = $os_params::api_eth, $mongo_nodes = $os_params::mongo_nodes, - $mongo_primary = $os_params::mongo_primary, ){ include 'cloud::telemetry' @@ -31,16 +30,10 @@ class cloud::telemetry::server( $s_mongo_nodes = join($mongo_nodes, ',') $db_conn = "mongodb://${s_mongo_nodes}/ceilometer?replicaSet=ceilometer" - if $::hostname == $mongo_primary { - $sync_db = true - } else { - $sync_db = false - } - # Install MongoDB database class { 'ceilometer::db': database_connection => $db_conn, - sync_db => $sync_db, + sync_db => true, require => Anchor['mongodb setup done'], } diff --git a/spec/classes/cloud_telemetry_server_spec.rb b/spec/classes/cloud_telemetry_server_spec.rb index 31a3230b..d5e3e331 100644 --- a/spec/classes/cloud_telemetry_server_spec.rb +++ b/spec/classes/cloud_telemetry_server_spec.rb @@ -44,8 +44,7 @@ describe 'cloud::telemetry::server' do :ks_ceilometer_internal_port => '8777', :ks_ceilometer_password => 'secrete', :api_eth => '10.0.0.1', - :mongo_nodes => ['node1', 'node2', 'node3'], - :mongo_primary => 'node1' } + :mongo_nodes => ['node1', 'node2', 'node3'] } end it 'configure ceilometer common' do @@ -95,25 +94,11 @@ describe 'cloud::telemetry::server' do ) end - context 'configure ceilometer db on primary mongodb node' do - it 'configure ceilometer db' do - should contain_class('ceilometer::db').with( - :sync_db => true, - :database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer' - ) - end - end - - context 'configure ceilometer db on secondary mongodb node' do - before :each do - facts.merge!( :hostname => 'node2' ) - end - it 'configure ceilometer db' do - should contain_class('ceilometer::db').with( - :sync_db => false, - :database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer' - ) - end + it 'synchronize ceilometer db indexes' do + should contain_class('ceilometer::db').with( + :sync_db => true, + :database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer' + ) end end