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*]
|
# [*replset_members*]
|
||||||
# (optional) Ceilometer Replica set members hostnames
|
# (optional) Ceilometer Replica set members hostnames
|
||||||
# Should be an array. Example: ['node1', 'node2', node3']
|
# 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
|
# Defaults to hostname
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -72,13 +73,14 @@ class cloud::database::nosql(
|
|||||||
require => Service['mongodb'],
|
require => Service['mongodb'],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if $replset_members {
|
||||||
mongodb_replset{'ceilometer':
|
mongodb_replset{'ceilometer':
|
||||||
members => $array_replset_members,
|
members => $array_replset_members,
|
||||||
before => Anchor['mongodb setup done'],
|
before => Anchor['mongodb setup done'],
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
anchor {'mongodb setup done' :
|
anchor {'mongodb setup done' :
|
||||||
require => Exec['check_mongodb'],
|
require => Exec['check_mongodb'],
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,12 +18,18 @@
|
|||||||
|
|
||||||
class cloud::telemetry::collector(
|
class cloud::telemetry::collector(
|
||||||
$mongo_nodes = ['127.0.0.1:27017'],
|
$mongo_nodes = ['127.0.0.1:27017'],
|
||||||
|
$replicaset_enabled = true,
|
||||||
){
|
){
|
||||||
|
|
||||||
include 'cloud::telemetry'
|
include 'cloud::telemetry'
|
||||||
|
|
||||||
$s_mongo_nodes = join($mongo_nodes, ',')
|
$s_mongo_nodes = join($mongo_nodes, ',')
|
||||||
|
|
||||||
|
if $replicaset_enabled {
|
||||||
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer?replicaSet=ceilometer"
|
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer?replicaSet=ceilometer"
|
||||||
|
} else {
|
||||||
|
$db_conn = "mongodb://${s_mongo_nodes}/ceilometer"
|
||||||
|
}
|
||||||
|
|
||||||
class { 'ceilometer::db':
|
class { 'ceilometer::db':
|
||||||
database_connection => $db_conn,
|
database_connection => $db_conn,
|
||||||
|
@ -50,6 +50,15 @@ describe 'cloud::database::nosql' do
|
|||||||
)
|
)
|
||||||
is_expected.to contain_anchor('mongodb setup done')
|
is_expected.to contain_anchor('mongodb setup done')
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
context 'on Debian platforms' do
|
||||||
|
@ -71,6 +71,19 @@ describe 'cloud::telemetry::collector' do
|
|||||||
:database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer'
|
:database_connection => 'mongodb://node1,node2,node3/ceilometer?replicaSet=ceilometer'
|
||||||
)
|
)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
context 'on Debian platforms' do
|
context 'on Debian platforms' do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user