
Keystone v2.0 API was removed so we have no choice but configuring user_domain_name and project_domain_name otherwise it fallbacks to Keystone v2.0 and it fails. This patch sets the default value so we make sure Keystone v3 will be used out of the box for our users. Change-Id: Ica121aa31705551052448a853fb8908732e749cf
91 lines
3.6 KiB
Ruby
91 lines
3.6 KiB
Ruby
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# Unit tests for ironic::drivers::inspector
|
|
#
|
|
|
|
require 'spec_helper'
|
|
|
|
describe 'ironic::drivers::inspector' do
|
|
|
|
let :default_params do
|
|
{ :auth_type => 'password',
|
|
:project_name => 'services',
|
|
:username => 'ironic',
|
|
}
|
|
end
|
|
|
|
let :params do
|
|
{}
|
|
end
|
|
|
|
shared_examples_for 'ironic ironic-inspector access configuration' do
|
|
let :p do
|
|
default_params.merge(params)
|
|
end
|
|
|
|
it 'configures ironic.conf' do
|
|
is_expected.to contain_ironic_config('inspector/enabled').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ironic_config('inspector/service_url').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ironic_config('inspector/auth_type').with_value(p[:auth_type])
|
|
is_expected.to contain_ironic_config('inspector/auth_url').with_value('<SERVICE DEFAULT>')
|
|
is_expected.to contain_ironic_config('inspector/project_name').with_value(p[:project_name])
|
|
is_expected.to contain_ironic_config('inspector/username').with_value(p[:username])
|
|
is_expected.to contain_ironic_config('inspector/password').with_value('<SERVICE DEFAULT>').with_secret(true)
|
|
is_expected.to contain_ironic_config('inspector/user_domain_name').with_value('Default')
|
|
is_expected.to contain_ironic_config('inspector/project_domain_name').with_value('Default')
|
|
end
|
|
|
|
context 'when overriding parameters' do
|
|
before :each do
|
|
params.merge!(
|
|
:enabled => true,
|
|
:service_url => 'http://example.com/inspector',
|
|
:auth_type => 'noauth',
|
|
:auth_url => 'http://example.com',
|
|
:project_name => 'project1',
|
|
:username => 'admin',
|
|
:password => 'pa$$w0rd',
|
|
:user_domain_name => 'NonDefault',
|
|
:project_domain_name => 'NonDefault',
|
|
)
|
|
end
|
|
|
|
it 'should replace default parameter with new value' do
|
|
is_expected.to contain_ironic_config('inspector/enabled').with_value(p[:enabled])
|
|
is_expected.to contain_ironic_config('inspector/service_url').with_value(p[:service_url])
|
|
is_expected.to contain_ironic_config('inspector/auth_type').with_value(p[:auth_type])
|
|
is_expected.to contain_ironic_config('inspector/auth_url').with_value(p[:auth_url])
|
|
is_expected.to contain_ironic_config('inspector/project_name').with_value(p[:project_name])
|
|
is_expected.to contain_ironic_config('inspector/username').with_value(p[:username])
|
|
is_expected.to contain_ironic_config('inspector/password').with_value(p[:password]).with_secret(true)
|
|
is_expected.to contain_ironic_config('inspector/user_domain_name').with_value(p[:user_domain_name])
|
|
is_expected.to contain_ironic_config('inspector/project_domain_name').with_value(p[:project_domain_name])
|
|
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 'ironic ironic-inspector access configuration'
|
|
end
|
|
end
|
|
|
|
end
|