Currently a replset parameter is set in mongodb.conf no matter if we are
in a ha or nonha setup. This install fine, but on a nonha setup it prevents
any program from using MongoDB, since no replset has been initialized. It
generates the following error when a program tries to use it :
not master and slaveOk=false
To prevent this issue a replicatset is initialized in both ha and nonha
setup, this way if another MongoDB node is added to the pool, it will be
able to attach automatically
Change-Id: I65e3f1ad35cb0cd31f6771444a0cffdf7569222f
$mongo_node_ips = split(downcase(hiera('mongo_node_ips')), ',')
$mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017')
- if count($mongo_node_ips) > 1 {
- if downcase($::hostname) == hiera('bootstrap_nodeid') {
- $mongodb_replset = hiera('mongodb::server::replset')
- mongodb_replset { $mongodb_replset :
- members => $mongo_node_ips_with_port,
- }
+ $mongodb_replset = hiera('mongodb::server::replset')
+ if downcase(hiera('bootstrap_nodeid')) == $::hostname {
+ mongodb_replset { $mongodb_replset :
+ members => $mongo_node_ips_with_port,
}
}