From 202ceee0c4d46c236d17c3301770a1e1848307aa Mon Sep 17 00:00:00 2001 From: Ben Dalling Date: Wed, 28 Dec 2016 08:09:20 +0000 Subject: [PATCH] Fix some CentOS 10 problems (#9). --- manifests/init.pp | 7 +++++++ spec/acceptance/odoo_spec.rb | 14 +++++++++++++- spec/classes/init_spec.rb | 26 +++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 937c30d..eca8e14 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -29,6 +29,13 @@ notify => Service['odoo'] } + if $::osfamily == 'RedHat' { + exec { '/usr/bin/systemctl daemon-reload': + refreshonly => true, + subscribe => Package['odoo'], + } + } + $defaults = { path => $config_file, require => Package['odoo'], diff --git a/spec/acceptance/odoo_spec.rb b/spec/acceptance/odoo_spec.rb index b27d926..b0fc306 100644 --- a/spec/acceptance/odoo_spec.rb +++ b/spec/acceptance/odoo_spec.rb @@ -30,6 +30,9 @@ class { '::odoo': describe 'Odoo 9 installation.' do it 'should work with no errors' do apply_manifest(install_odoo9_pp, catch_failures: true) + end + + it 'should be idempotent' do expect(apply_manifest(install_odoo9_pp, catch_failures: true).exit_code).to be_zero end @@ -51,9 +54,15 @@ class { '::odoo': package { 'odoo': ensure => purged, } -> - class { '::odoo::repo9': + class { 'odoo::repo9': ensure => absent, } + + if $::osfamily == 'RedHat' { + exec { '/usr/bin/yum clean all': + before => Class['odoo::repo9'], + } + } EOS describe 'Uninstall Odoo 9.' do @@ -90,6 +99,9 @@ class { '::odoo': describe 'Odoo 10 installation.' do it 'should work with no errors' do apply_manifest(install_odoo10_pp, catch_failures: true) + end + + it 'should be idempotent' do expect(apply_manifest(install_odoo10_pp, catch_failures: true).exit_code).to be_zero end diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 2ec30d8..8750d72 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -16,12 +16,36 @@ end end - context 'with defaults for all parameters' do + context 'with defaults for all parameters (debian)' do + let :facts do + { + osfamily: 'Debian' + } + end + + it do + should compile + should have_resource_count(2) + should contain_class('odoo') + should contain_package('odoo') + should contain_service('odoo') + end + end + + context 'with defaults for all parameters (red hat)' do + let :facts do + { + osfamily: 'RedHat' + } + end + it do should compile + should have_resource_count(3) should contain_class('odoo') should contain_package('odoo') should contain_service('odoo') + should contain_exec('/usr/bin/systemctl daemon-reload') end end end