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, roles => ['dbAdmin','readWrite'], } } 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': } } }