
This change introduces new class nova::ironic::common which adds common Ironic related parameters to nova.conf required for nova-api and nova-compute. Change-Id: Ia878d19cffd833e9bf95d1b26ff0c2b6c02370d0 Closes-bug: #1581040
80 lines
2.4 KiB
Ruby
80 lines
2.4 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'nova::compute::ironic' do
|
|
|
|
shared_examples_for 'nova-compute-ironic' do
|
|
|
|
context 'with default parameters' do
|
|
it 'configures ironic in nova.conf' do
|
|
is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('ironic.IronicDriver')
|
|
is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value('<SERVICE DEFAULT>')
|
|
end
|
|
end
|
|
|
|
context 'with overridden parameters' do
|
|
let :params do
|
|
{
|
|
:compute_driver => 'ironic.FoobarDriver',
|
|
:max_concurrent_builds => 15,
|
|
}
|
|
end
|
|
|
|
it 'configures ironic in nova.conf' do
|
|
is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('ironic.FoobarDriver')
|
|
is_expected.to contain_nova_config('DEFAULT/max_concurrent_builds').with_value(15)
|
|
end
|
|
end
|
|
|
|
context 'with deprecated parameters' do
|
|
|
|
let :params do
|
|
{
|
|
:admin_user => 'ironic-user',
|
|
:admin_passwd => 'ironic-s3cr3t',
|
|
:admin_url => 'http://10.0.0.10:35357/v2.0',
|
|
:admin_tenant_name => 'services2',
|
|
:api_endpoint => 'http://10.0.0.10:6385/v1',
|
|
}
|
|
end
|
|
|
|
it 'configures ironic in nova.conf' do
|
|
is_expected.to contain_nova_config('ironic/admin_username').with_value('ironic-user')
|
|
is_expected.to contain_nova_config('ironic/admin_password').with_value('ironic-s3cr3t')
|
|
is_expected.to contain_nova_config('ironic/admin_url').with_value('http://10.0.0.10:35357/v2.0')
|
|
is_expected.to contain_nova_config('ironic/admin_tenant_name').with_value('services2')
|
|
is_expected.to contain_nova_config('ironic/api_endpoint').with_value('http://10.0.0.10:6385/v1')
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'always' do
|
|
it 'contains the ironic common class' do
|
|
is_expected.to contain_class('nova::ironic::common')
|
|
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({
|
|
:fqdn => 'some.host.tld',
|
|
:processorcount => 2,
|
|
:concat_basedir => '/var/lib/puppet/concat'
|
|
}))
|
|
end
|
|
|
|
let(:platform_params) do
|
|
case facts[:osfamily]
|
|
when 'Debian'
|
|
{}
|
|
when 'RedHat'
|
|
{}
|
|
end
|
|
end
|
|
it_configures 'nova-compute-ironic'
|
|
end
|
|
end
|
|
end
|