diff --git a/manifests/generic_service.pp b/manifests/generic_service.pp index ea6486573..2ead9bda5 100644 --- a/manifests/generic_service.pp +++ b/manifests/generic_service.pp @@ -32,10 +32,12 @@ define nova::generic_service( # I need to mark that ths package should be # installed before nova_config if ($package_name) { - package { $nova_title: - ensure => $ensure_package, - name => $package_name, - notify => Service[$nova_title], + if !defined(Package[$package_name]) { + package { $nova_title: + ensure => $ensure_package, + name => $package_name, + notify => Service[$nova_title], + } } } @@ -53,7 +55,7 @@ define nova::generic_service( name => $service_name, enable => $enabled, hasstatus => true, - require => [Package['nova-common'], Package[$nova_title]], + require => [Package['nova-common'], Package[$package_name]], } } } diff --git a/spec/defines/nova_generic_service_spec.rb b/spec/defines/nova_generic_service_spec.rb index 324f68c7b..1cad4f7a5 100644 --- a/spec/defines/nova_generic_service_spec.rb +++ b/spec/defines/nova_generic_service_spec.rb @@ -26,7 +26,7 @@ describe 'nova::generic_service' do 'name' => 'food', 'ensure' => 'running', 'enable' => true, - 'require' => ['Package[nova-common]', 'Package[nova-foo]'] + 'require' => ['Package[nova-common]', 'Package[foo]'] )} end end