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:
@@ -1,5 +1,6 @@
|
|||||||
class nova::api(
|
class nova::api(
|
||||||
$enabled = false,
|
$enabled = false,
|
||||||
|
$ensure_package = 'present',
|
||||||
$auth_strategy = 'keystone',
|
$auth_strategy = 'keystone',
|
||||||
$auth_host = '127.0.0.1',
|
$auth_host = '127.0.0.1',
|
||||||
$auth_port = 35357,
|
$auth_port = 35357,
|
||||||
@@ -27,9 +28,10 @@ class nova::api(
|
|||||||
|
|
||||||
|
|
||||||
nova::generic_service { 'api':
|
nova::generic_service { 'api':
|
||||||
enabled => $enabled,
|
enabled => $enabled,
|
||||||
package_name => $::nova::params::api_package_name,
|
ensure_package => $ensure_package,
|
||||||
service_name => $::nova::params::api_service_name,
|
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'; }
|
nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }
|
||||||
|
@@ -13,7 +13,8 @@
|
|||||||
define nova::generic_service(
|
define nova::generic_service(
|
||||||
$package_name,
|
$package_name,
|
||||||
$service_name,
|
$service_name,
|
||||||
$enabled = false
|
$enabled = false,
|
||||||
|
$ensure_package = 'present',
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include nova::params
|
include nova::params
|
||||||
@@ -38,7 +39,7 @@ define nova::generic_service(
|
|||||||
if ($package_name) {
|
if ($package_name) {
|
||||||
package { $nova_title:
|
package { $nova_title:
|
||||||
name => $package_name,
|
name => $package_name,
|
||||||
ensure => present,
|
ensure => $ensure_package,
|
||||||
notify => Service[$nova_title],
|
notify => Service[$nova_title],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -35,6 +35,14 @@ describe 'nova::api' do
|
|||||||
'enable' => true
|
'enable' => true
|
||||||
)}
|
)}
|
||||||
end
|
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
|
describe 'with defaults' do
|
||||||
it 'should use default params for api-paste.init' do
|
it 'should use default params for api-paste.init' do
|
||||||
verify_contents(subject, '/etc/nova/api-paste.ini',
|
verify_contents(subject, '/etc/nova/api-paste.ini',
|
||||||
|
Reference in New Issue
Block a user