diff --git a/manifests/generic_service.pp b/manifests/generic_service.pp index 9aaecd694..1066e30b6 100644 --- a/manifests/generic_service.pp +++ b/manifests/generic_service.pp @@ -49,7 +49,7 @@ define nova::generic_service( name => $service_name, ensure => $service_ensure, enable => $enabled, - require => Package['nova-common'], + require => [Package['nova-common'], Package[$nova_title]], } } diff --git a/spec/defines/nova_generic_service_spec.rb b/spec/defines/nova_generic_service_spec.rb new file mode 100644 index 000000000..324f68c7b --- /dev/null +++ b/spec/defines/nova_generic_service_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' + +describe 'nova::generic_service' do + describe 'package should come before service' do + let :pre_condition do + 'include nova' + end + + let :params do + { + :package_name => 'foo', + :service_name => 'food', + :enabled => true + } + end + + let :facts do + { :osfamily => 'Debian' } + end + + let :title do + 'foo' + end + + it { should contain_service('nova-foo').with( + 'name' => 'food', + 'ensure' => 'running', + 'enable' => true, + 'require' => ['Package[nova-common]', 'Package[nova-foo]'] + )} + end +end