Update nova::api class to allow specification of specific package

version for nova-api service. This required augmenting generic-service
to allow specifing such package versions as well. Default behavior
should not be affected, added spec to test these changes.
This commit is contained in:
John Chilton 2012-05-08 13:32:36 -05:00
parent 6fc6279572
commit ede5a8ed10
3 changed files with 16 additions and 5 deletions

View File

@ -1,5 +1,6 @@
class nova::api(
$enabled = false,
$ensure_package = 'present',
$auth_strategy = 'keystone',
$auth_host = '127.0.0.1',
$auth_port = 35357,
@ -27,9 +28,10 @@ class nova::api(
nova::generic_service { 'api':
enabled => $enabled,
package_name => $::nova::params::api_package_name,
service_name => $::nova::params::api_service_name,
enabled => $enabled,
ensure_package => $ensure_package,
package_name => $::nova::params::api_package_name,
service_name => $::nova::params::api_service_name,
}
nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }

View File

@ -13,7 +13,8 @@
define nova::generic_service(
$package_name,
$service_name,
$enabled = false
$enabled = false,
$ensure_package = 'present',
) {
include nova::params
@ -38,7 +39,7 @@ define nova::generic_service(
if ($package_name) {
package { $nova_title:
name => $package_name,
ensure => present,
ensure => $ensure_package,
notify => Service[$nova_title],
}
}

View File

@ -35,6 +35,14 @@ describe 'nova::api' do
'enable' => true
)}
end
describe 'with package version' do
let :params do
{:ensure_package => '2012.1-2'}
end
it { should contain_package('nova-api').with(
'ensure' => '2012.1-2'
)}
end
describe 'with defaults' do
it 'should use default params for api-paste.init' do
verify_contents(subject, '/etc/nova/api-paste.ini',