Files
puppet-nova/spec/classes/nova_compute_libvirt_services_spec.rb
Takashi Kajinami 0fe7de9b77 Prohibit modular libvirt in non RedHat distributions
Currently modular libvirt daemons are supported only by CentOS and
RHEL. This makes sure the deployment fails in case the architecture is
requested in distros which do not support it.

Change-Id: I8eefc65e206bdb0532b6c5d08eee0d35d764a2b9
2023-05-23 11:39:14 +09:00

67 lines
1.9 KiB
Ruby

require 'spec_helper'
describe 'nova::compute::libvirt::services' do
shared_examples_for 'nova compute libvirt services' do
context 'with default parameters' do
it 'deploys libvirt packages and services' do
is_expected.to contain_package('libvirt')
is_expected.to contain_service('libvirt')
end
end
context 'with overridden parameters' do
let :params do
{
:libvirt_service_name => false,
:modular_libvirt => false,
}
end
it 'disable libvirt service' do
is_expected.not_to contain_package('libvirt')
is_expected.not_to contain_service('libvirt')
end
end
end
shared_examples_for 'nova compute libvirt services with modular libvirt' do
context 'with default parameters' do
let :params do
{
:modular_libvirt => true
}
end
it 'deploys libvirt packages and services with modular-libvirt' do
is_expected.to contain_package('libvirt')
is_expected.to contain_package('virtqemu')
is_expected.to contain_package('virtsecret')
is_expected.to contain_package('virtstorage')
is_expected.to contain_package('virtnodedev')
is_expected.to contain_service('virtlogd')
is_expected.to contain_service('virtproxyd')
is_expected.to contain_service('virtnodedevd')
is_expected.to contain_service('virtsecretd')
is_expected.to contain_service('virtstoraged')
is_expected.to contain_service('virtqemud')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'nova compute libvirt services'
if facts['osfamily'] == 'RedHat'
it_configures 'nova compute libvirt services with modular libvirt'
end
end
end
end