diff --git a/manifests/database/nosql.pp b/manifests/database/nosql.pp index 7c3d5e87..d6303cbc 100644 --- a/manifests/database/nosql.pp +++ b/manifests/database/nosql.pp @@ -45,8 +45,17 @@ class cloud::database::nosql( $array_bind_ip = any2array($bind_ip) $array_replset_members = any2array($replset_members) + # Red Hat & CentOS use packages from RHCL or EPEL to support systemd + # so manage_package_repo should be at false regarding to mongodb module + if $::osfamily == 'RedHat' { + $manage_package_repo = false + } else { + # Debian & Ubuntu are picked from mongodb repo to get recent version + $manage_package_repo = true + } + class { 'mongodb::globals': - manage_package_repo => true + manage_package_repo => $manage_package_repo }-> class { 'mongodb': bind_ip => $array_bind_ip, diff --git a/spec/classes/cloud_database_nosql_spec.rb b/spec/classes/cloud_database_nosql_spec.rb index 36fa1bb7..ff00ebeb 100644 --- a/spec/classes/cloud_database_nosql_spec.rb +++ b/spec/classes/cloud_database_nosql_spec.rb @@ -29,7 +29,7 @@ describe 'cloud::database::nosql' do end it 'configure mongodb server' do - should contain_class('mongodb::globals').with( :manage_package_repo => true) + should contain_class('mongodb::globals').with( :manage_package_repo => platform_params[:manage_package_repo]) should contain_class('mongodb::globals').with_before('Class[Mongodb]') should contain_class('mongodb').with( :bind_ip => ['10.0.0.1'], @@ -54,10 +54,12 @@ describe 'cloud::database::nosql' do context 'on Debian platforms' do let :facts do - { - :osfamily => 'Debian', - :lsbdistid => 'Debian' - } + { :osfamily => 'Debian', + :lsbdistid => 'Debian' } + end + + let :platform_params do + { :manage_package_repo => true } end it_configures 'openstack database nosql' @@ -68,6 +70,10 @@ describe 'cloud::database::nosql' do { :osfamily => 'RedHat' } end + let :platform_params do + { :manage_package_repo => false } + end + it_configures 'openstack database nosql' end