Merge "Better handling of package dependencies in nova generic_service"

This commit is contained in:
Jenkins
2015-06-22 13:26:18 +00:00
committed by Gerrit Code Review
2 changed files with 15 additions and 4 deletions

View File

@@ -32,7 +32,7 @@ define nova::generic_service(
# I need to mark that ths package should be
# installed before nova_config
if ($package_name) {
if !defined(Package[$package_name]) {
if !defined(Package[$nova_title]) and !defined(Package[$package_name]) {
package { $nova_title:
ensure => $ensure_package,
name => $package_name,
@@ -40,6 +40,14 @@ define nova::generic_service(
tag => ['openstack'],
}
}
if $service_name {
# Do the dependency relationship here in case the package
# has been defined elsewhere, either as Package[$nova_title]
# or Package[$package_name]
Package<| title == $nova_title |> -> Service[$nova_title]
Package<| title == $package_name |> -> Service[$nova_title]
}
}
if $service_name {
@@ -56,7 +64,7 @@ define nova::generic_service(
name => $service_name,
enable => $enabled,
hasstatus => true,
require => [Package['nova-common'], Package[$nova_title]],
require => [Package['nova-common']],
}
}
}

View File

@@ -25,8 +25,11 @@ describe 'nova::generic_service' do
it { is_expected.to contain_service('nova-foo').with(
'name' => 'food',
'ensure' => 'running',
'enable' => true,
'require' => ['Package[nova-common]', 'Package[nova-foo]']
'enable' => true
)}
it { is_expected.to contain_service('nova-foo').that_requires(
['Package[nova-common]', 'Package[nova-foo]']
)}
end
end