Merge pull request #648 from enovance/mongo-without-rs
MongoDB replicaset is now an option
This commit is contained in:
commit
ab558e85b0
@ -32,6 +32,7 @@
|
||||
# [*replset_members*]
|
||||
# (optional) Ceilometer Replica set members hostnames
|
||||
# Should be an array. Example: ['node1', 'node2', node3']
|
||||
# If set to false, the setup won't be HA and no replicaset will be created.
|
||||
# Defaults to hostname
|
||||
#
|
||||
|
||||
@ -72,13 +73,14 @@ class cloud::database::nosql(
|
||||
require => Service['mongodb'],
|
||||
}
|
||||
|
||||
mongodb_replset{'ceilometer':
|
||||
members => $array_replset_members,
|
||||
before => Anchor['mongodb setup done'],
|
||||
if $replset_members {
|
||||
mongodb_replset{'ceilometer':
|
||||
members => $array_replset_members,
|
||||
before => Anchor['mongodb setup done'],
|
||||
}
|
||||
}
|
||||
|
||||
anchor {'mongodb setup done' :
|
||||
require => Exec['check_mongodb'],
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,13 +17,19 @@
|
||||
#
|
||||
|
||||
class cloud::telemetry::collector(
|
||||
$mongo_nodes = ['127.0.0.1:27017'],
|
||||
$mongo_nodes = ['127.0.0.1:27017'],
|
||||
$replicaset_enabled = true,
|
||||
){
|
||||
|
||||
include 'cloud::telemetry'
|
||||
|
||||
$s_mongo_nodes = join($mongo_nodes, ',')
|
||||
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer?replicaSet=ceilometer"
|
||||
|
||||
if $replicaset_enabled {
|
||||
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer?replicaSet=ceilometer"
|
||||
} else {
|
||||
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer"
|
||||
}
|
||||
|
||||
class { 'ceilometer::db':
|
||||
database_connection => $db_conn,
|
||||
|
@ -50,6 +50,15 @@ describe 'cloud::database::nosql' do
|
||||
)
|
||||
is_expected.to contain_anchor('mongodb setup done')
|
||||
end
|
||||
|
||||
context 'without replica set' do
|
||||
before :each do
|
||||
params.merge!( :replset_members => false)
|
||||
end
|
||||
it 'do not configure mongodb replicasets' do
|
||||
is_expected.not_to contain_mongodb_replset('ceilometer')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'on Debian platforms' do
|
||||
|
@ -71,6 +71,19 @@ describe 'cloud::telemetry::collector' do
|
||||
:database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer'
|
||||
)
|
||||
end
|
||||
|
||||
context 'without replica set' do
|
||||
before :each do
|
||||
params.merge!( :replicaset_enabled => false,
|
||||
:mongo_nodes => ['node1'] )
|
||||
end
|
||||
it 'do not configure mongodb replicasets' do
|
||||
is_expected.to contain_class('ceilometer::db').with(
|
||||
:sync_db => true,
|
||||
:database_connection => 'mongodb://node1/ceilometer'
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'on Debian platforms' do
|
||||
|
Loading…
x
Reference in New Issue
Block a user