Newer
Older
class iaas::profile::mongodb (
$admin_interface = hiera('iaas::admin_interface', undef),
$hosts = hiera('iaas::mongo::endpoint::coordination', undef),
$bootstrap = false,
$master = false,
$key = hiera('iaas::profile::mongodb::key', undef),
$password = hiera('iaas::profile::mongodb::password', undef),
$mongouser = hiera('iaas::mongo::ceilometer::user', 'ceilometer'),
$mongopasswd = hiera('iaas::mongo::ceilometer::password', 'ceilometer'),
){
class {'::mongodb::globals':
# manage_package_repo => true,
# bind_ip => [$::facts["ipaddress_eth1"]], #[$::facts["ipaddress_${admin_interface}"]],
}
if $master {
if $bootstrap {
class {'::mongodb::server':
# bind_ip => ['127.0.0.1',$::facts["ipaddress_eth1"]], #[$::facts["ipaddress_${admin_interface}"]],
bind_ip => ['127.0.0.1',$::facts["ipaddress_${admin_interface}"]],
port => '27017',
auth => true,
journal => 'true',
keyfile => '/etc/mongodb.key',
key => $key,
verbose => true,
create_admin => true,
store_creds => true,
admin_username => "admin",
admin_password => $password,
} ->
class {'::mongodb::client': } ->
mongodb::db { 'ceilometer':
user => $mongouser,
password => $mongopasswd,
}
} else {
class {'::mongodb::server':
# bind_ip => ['127.0.0.1',$::facts["ipaddress_eth1"]], #[$::facts["ipaddress_${admin_interface}"]],
bind_ip => ['127.0.0.1',$::facts["ipaddress_${admin_interface}"]],
replset => 'rs0',
replset_config => { 'rs0' => { ensure => present, members => $hosts } },
port => '27017',
auth => true,
journal => 'true',
keyfile => '/etc/mongodb.key',
key => $key,
verbose => true,
store_creds => true,
admin_username => "admin",
admin_password => $password,
}
}
} else {
class {'::mongodb::server':
# bind_ip => ['127.0.0.1',$::facts["ipaddress_eth1"]], #[$::facts["ipaddress_${admin_interface}"]],
bind_ip => ['127.0.0.1',$::facts["ipaddress_${admin_interface}"]],
port => '27017',
auth => true,
journal => 'true',
keyfile => '/etc/mongodb.key',
key => $key,
verbose => true,
store_creds => true,
admin_username => "admin",
admin_password => $password,
replset => 'rs0',
} ->
class {'::mongodb::client': }
}
}