diff --git a/manifests/compute/libvirt_guests.pp b/manifests/compute/libvirt_guests.pp index 204cb6403..ec20d6704 100644 --- a/manifests/compute/libvirt_guests.pp +++ b/manifests/compute/libvirt_guests.pp @@ -42,12 +42,17 @@ # (5 minutes). # Defaults to 300. # +# [*manage_service*] +# (optional) Whether to start/stop the service +# Defaults to false +# class nova::compute::libvirt_guests ( $enabled = false, $package_ensure = 'present', $shutdown_timeout = '300', $on_boot = 'ignore', $on_shutdown = 'shutdown', + $manage_service = false, ) { include ::nova::params include ::nova::deps @@ -56,9 +61,6 @@ class nova::compute::libvirt_guests ( -> File_line<| tag == 'libvirt-guests-file_line'|> -> Anchor['nova::config::end'] - File_line<| tag == 'libvirt-guests-file_line' |> - ~> Service['libvirt-guests'] - case $::osfamily { 'RedHat': { file_line { '/etc/sysconfig/libvirt-guests ON_BOOT': @@ -84,7 +86,7 @@ class nova::compute::libvirt_guests ( nova::generic_service { 'libvirt-guests': enabled => $enabled, - manage_service => $enabled, + manage_service => $manage_service, package_name => $::nova::params::libvirt_guests_package_name, service_name => $::nova::params::libvirt_guests_service_name, ensure_package => $package_ensure diff --git a/spec/classes/nova_compute_libvirt_guests_spec.rb b/spec/classes/nova_compute_libvirt_guests_spec.rb index 0c2271a5a..e10488bf7 100644 --- a/spec/classes/nova_compute_libvirt_guests_spec.rb +++ b/spec/classes/nova_compute_libvirt_guests_spec.rb @@ -55,6 +55,16 @@ describe 'nova::compute::libvirt_guests' do )} end + context 'while not managing service state' do + let :params do + { :enabled => false, + :manage_service => false, + } + end + + it { is_expected.to contain_service('libvirt-guests').without_ensure } + end + end on_supported_os({