Merge "Better handling of package dependencies in nova generic_service"
This commit is contained in:
@@ -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']],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user