2016-05-17 18:49:51 +03:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe 'nova::ironic::common' do
|
|
|
|
|
|
|
|
shared_examples_for 'nova-ironic-common' do
|
|
|
|
|
2016-10-28 17:28:20 -06:00
|
|
|
context 'with default parameters' do
|
|
|
|
it 'configures ironic in nova.conf' do
|
|
|
|
is_expected.to contain_nova_config('ironic/auth_plugin').with_value('password')
|
|
|
|
is_expected.to contain_nova_config('ironic/username').with_value('admin')
|
2018-08-30 16:05:09 +02:00
|
|
|
is_expected.to contain_nova_config('ironic/password').with_value('ironic').with_secret(true)
|
2018-05-29 10:15:02 -04:00
|
|
|
is_expected.to contain_nova_config('ironic/auth_url').with_value('http://127.0.0.1:5000/')
|
2016-10-28 17:28:20 -06:00
|
|
|
is_expected.to contain_nova_config('ironic/project_name').with_value('services')
|
2022-03-04 01:45:30 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/system_scope').with_value('<SERVICE DEFAULT>')
|
2020-04-08 21:37:13 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/endpoint_override').with_value('<SERVICE DEFAULT>')
|
2020-04-08 21:56:18 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/region_name').with_value('<SERVICE DEFAULT>')
|
2022-03-04 01:45:30 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/api_max_retries').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/api_retry_interval').with_value('<SERVICE DEFAULT>')
|
2017-10-10 11:58:29 -07:00
|
|
|
is_expected.to contain_nova_config('ironic/user_domain_name').with_value('Default')
|
|
|
|
is_expected.to contain_nova_config('ironic/project_domain_name').with_value('Default')
|
2021-11-12 13:55:15 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/service_type').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/valid_interfaces').with_value('<SERVICE DEFAULT>')
|
2024-04-08 10:45:58 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/timeout').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/conductor_group').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/shard').with_value('<SERVICE DEFAULT>')
|
2016-10-28 17:28:20 -06:00
|
|
|
end
|
2016-05-17 18:49:51 +03:00
|
|
|
end
|
|
|
|
|
2016-10-28 17:28:20 -06:00
|
|
|
context 'with parameters' do
|
|
|
|
let :params do
|
|
|
|
{
|
2017-10-10 11:58:29 -07:00
|
|
|
:username => 'ironic',
|
|
|
|
:password => 's3cr3t',
|
2018-05-29 10:15:02 -04:00
|
|
|
:auth_url => 'http://10.0.0.10:5000/',
|
2017-10-10 11:58:29 -07:00
|
|
|
:project_name => 'services2',
|
2020-04-08 21:37:13 +09:00
|
|
|
:endpoint_override => 'http://10.0.0.10:6385/v1',
|
2020-04-08 21:56:18 +09:00
|
|
|
:region_name => 'regionTwo',
|
2017-10-10 11:58:29 -07:00
|
|
|
:api_max_retries => 60,
|
|
|
|
:api_retry_interval => 2,
|
|
|
|
:user_domain_name => 'custom_domain',
|
|
|
|
:project_domain_name => 'custom_domain',
|
2021-11-12 13:55:15 +09:00
|
|
|
:service_type => 'baremetal',
|
|
|
|
:timeout => 30,
|
|
|
|
:valid_interfaces => 'internal',
|
2024-04-08 10:45:58 +09:00
|
|
|
:conductor_group => 'mygroup',
|
|
|
|
:shard => 'myshard'
|
2016-10-28 17:28:20 -06:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
it 'configures ironic in nova.conf' do
|
|
|
|
is_expected.to contain_nova_config('ironic/auth_plugin').with_value('password')
|
|
|
|
is_expected.to contain_nova_config('ironic/username').with_value('ironic')
|
2018-08-30 16:05:09 +02:00
|
|
|
is_expected.to contain_nova_config('ironic/password').with_value('s3cr3t').with_secret(true)
|
2018-05-29 10:15:02 -04:00
|
|
|
is_expected.to contain_nova_config('ironic/auth_url').with_value('http://10.0.0.10:5000/')
|
2016-10-28 17:28:20 -06:00
|
|
|
is_expected.to contain_nova_config('ironic/project_name').with_value('services2')
|
2022-03-04 01:45:30 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/system_scope').with_value('<SERVICE DEFAULT>')
|
2020-04-08 21:37:13 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/endpoint_override').with_value('http://10.0.0.10:6385/v1')
|
2020-04-08 21:56:18 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/region_name').with_value('regionTwo')
|
2022-03-04 01:45:30 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/api_max_retries').with_value('60')
|
|
|
|
is_expected.to contain_nova_config('ironic/api_retry_interval').with_value('2')
|
|
|
|
is_expected.to contain_nova_config('ironic/user_domain_name').with_value('custom_domain')
|
|
|
|
is_expected.to contain_nova_config('ironic/project_domain_name').with_value('custom_domain')
|
2021-11-12 13:55:15 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/service_type').with_value('baremetal')
|
|
|
|
is_expected.to contain_nova_config('ironic/valid_interfaces').with_value('internal')
|
2024-04-08 10:45:58 +09:00
|
|
|
is_expected.to contain_nova_config('ironic/timeout').with_value(30)
|
|
|
|
is_expected.to contain_nova_config('ironic/conductor_group').with_value('mygroup')
|
|
|
|
is_expected.to contain_nova_config('ironic/shard').with_value('myshard')
|
2016-10-28 17:28:20 -06:00
|
|
|
end
|
2016-05-17 18:49:51 +03:00
|
|
|
end
|
2022-03-04 01:45:30 +09:00
|
|
|
|
|
|
|
context 'when system_scope is set' do
|
|
|
|
let :params do
|
|
|
|
{
|
|
|
|
:system_scope => 'all'
|
|
|
|
}
|
|
|
|
end
|
|
|
|
it 'configures system-scoped credential' do
|
|
|
|
is_expected.to contain_nova_config('ironic/project_domain_name').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/project_name').with_value('<SERVICE DEFAULT>')
|
|
|
|
is_expected.to contain_nova_config('ironic/system_scope').with_value('all')
|
|
|
|
end
|
|
|
|
end
|
2016-05-17 18:49:51 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
on_supported_os({
|
|
|
|
:supported_os => OSDefaults.get_supported_os
|
|
|
|
}).each do |os,facts|
|
|
|
|
context "on #{os}" do
|
|
|
|
let (:facts) do
|
2016-10-28 17:28:20 -06:00
|
|
|
facts.merge!(OSDefaults.get_facts)
|
2016-05-17 18:49:51 +03:00
|
|
|
end
|
|
|
|
it_configures 'nova-ironic-common'
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|