puppet-manila/spec/classes/manila_compute_nova_spec.rb
Takashi Kajinami 684fe638de Add support for [nova] api_micro_version
Manila provides the api_micro_version for Nova and Glance but currently
the parameter is implemented for only Glance.
This change adds the parameter to the nova class so that api version
can be defined for both of these two services.

Change-Id: I6ab2257febe68eff05c0a1ea903ab84e3292f4ee
2021-10-13 22:13:43 +09:00

66 lines
3.2 KiB
Ruby

require 'spec_helper'
describe 'manila::compute::nova' do
shared_examples 'manila::nova' do
context 'with default parameters' do
it 'configures manila compute nova' do
is_expected.to contain_manila_config('nova/insecure').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/auth_url').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/auth_type').with_value('password')
is_expected.to contain_manila_config('nova/cafile').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/user_domain_name').with_value('Default')
is_expected.to contain_manila_config('nova/project_domain_name').with_value('Default')
is_expected.to contain_manila_config('nova/project_name').with_value('services')
is_expected.to contain_manila_config('nova/region_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/endpoint_type').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/username').with_value('nova')
is_expected.to contain_manila_config('nova/password').with_value('<SERVICE DEFAULT>')
is_expected.to contain_manila_config('nova/api_microversion').with_value('<SERVICE DEFAULT>')
end
end
context 'with overridden parameters' do
let :params do
{
:insecure => true,
:auth_url => 'http://127.0.0.2:5000/',
:auth_type => 'v3password',
:cafile => '/etc/ssl/certs/ca.crt',
:region_name => 'RegionOne',
:endpoint_type => 'publicURL',
:username => 'novav1',
:password => '123123',
:api_microversion => '2.10'
}
end
it 'configures manila nova with overridden parameters' do
is_expected.to contain_manila_config('nova/insecure').with_value(true)
is_expected.to contain_manila_config('nova/auth_url').with_value('http://127.0.0.2:5000/')
is_expected.to contain_manila_config('nova/auth_type').with_value('v3password')
is_expected.to contain_manila_config('nova/cafile').with_value('/etc/ssl/certs/ca.crt')
is_expected.to contain_manila_config('nova/user_domain_name').with_value('Default')
is_expected.to contain_manila_config('nova/project_domain_name').with_value('Default')
is_expected.to contain_manila_config('nova/project_name').with_value('services')
is_expected.to contain_manila_config('nova/region_name').with_value('RegionOne')
is_expected.to contain_manila_config('nova/endpoint_type').with_value('publicURL')
is_expected.to contain_manila_config('nova/username').with_value('novav1')
is_expected.to contain_manila_config('nova/password').with_value('123123').with_secret(true)
is_expected.to contain_manila_config('nova/api_microversion').with_value('2.10')
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_behaves_like 'manila::nova'
end
end
end