Files
puppet-neutron/spec/classes/neutron_config_spec.rb
Takashi Kajinami 6558793c1d Allow adding arbitrary configurations to linuxbridge_agent.ini
This change introduces the new parameter to the neutron::config class,
so that the class can manage arbitrary configurations for linux bridge
agent. The similar functionality is already supported for the other
agents like ovs agent or sriov agent.

Change-Id: Ief129f00e53734d418dd9c9316be5568ccc6db3f
2022-04-20 09:39:27 +09:00

193 lines
8.1 KiB
Ruby

require 'spec_helper'
describe 'neutron::config' do
let(:config_hash) do {
'DEFAULT/foo' => { 'value' => 'fooValue' },
'DEFAULT/bar' => { 'value' => 'barValue' },
'DEFAULT/baz' => { 'ensure' => 'absent' }
}
end
shared_examples 'neutron_config' do
let :params do
{ :server_config => config_hash }
end
it { should contain_class('neutron::deps') }
it 'configures arbitrary neutron-config configurations' do
should contain_neutron_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_config('DEFAULT/baz').with_ensure('absent')
end
end
shared_examples 'neutron_api_paste_ini' do
let :params do
{ :api_paste_ini => config_hash }
end
it 'configures arbitrary neutron-api-config configurations' do
should contain_neutron_api_paste_ini('DEFAULT/foo').with_value('fooValue')
should contain_neutron_api_paste_ini('DEFAULT/bar').with_value('barValue')
should contain_neutron_api_paste_ini('DEFAULT/baz').with_ensure('absent')
end
end
shared_examples 'neutron_service_config' do
let :params do
{ :sfc_service_config => config_hash,
:l2gw_service_config => config_hash,
}
end
it 'configures arbitrary sfc_service_config configurations' do
should contain_neutron_sfc_service_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_sfc_service_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_sfc_service_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary l2gw_service_config configurations' do
should contain_neutron_l2gw_service_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_l2gw_service_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_l2gw_service_config('DEFAULT/baz').with_ensure('absent')
end
end
shared_examples 'neutron_agent_config' do
let :params do
{ :ovs_agent_config => config_hash,
:sriov_agent_config => config_hash,
:linuxbridge_agent_config => config_hash,
:l3_agent_config => config_hash,
:dhcp_agent_config => config_hash,
:metadata_agent_config => config_hash,
:metering_agent_config => config_hash,
:vpnaas_agent_config => config_hash,
:l2gw_agent_config => config_hash,
:bgp_dragent_config => config_hash,
}
end
it 'configures arbitrary neutron_agent_ovs configurations' do
should contain_neutron_agent_ovs('DEFAULT/foo').with_value('fooValue')
should contain_neutron_agent_ovs('DEFAULT/bar').with_value('barValue')
should contain_neutron_agent_ovs('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_sriov_agent_config configurations' do
should contain_neutron_sriov_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_sriov_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_sriov_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_agent_linuxbridge configurations' do
should contain_neutron_agent_linuxbridge('DEFAULT/foo').with_value('fooValue')
should contain_neutron_agent_linuxbridge('DEFAULT/bar').with_value('barValue')
should contain_neutron_agent_linuxbridge('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary l3_agent_config configurations' do
should contain_neutron_l3_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_l3_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_l3_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary dhcp_agent_config configurations' do
should contain_neutron_dhcp_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_dhcp_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_dhcp_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary metadata_agent_config configurations' do
should contain_neutron_metadata_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_metadata_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_metadata_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary metering_agent_config configurations' do
should contain_neutron_metering_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_metering_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_metering_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary vpnaas_agent_config configurations' do
should contain_neutron_vpnaas_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_vpnaas_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_vpnaas_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary l2gw_agent_config configurations' do
should contain_neutron_l2gw_agent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_l2gw_agent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_l2gw_agent_config('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary bgp_dragent_config configurations' do
should contain_neutron_bgp_dragent_config('DEFAULT/foo').with_value('fooValue')
should contain_neutron_bgp_dragent_config('DEFAULT/bar').with_value('barValue')
should contain_neutron_bgp_dragent_config('DEFAULT/baz').with_ensure('absent')
end
end
shared_examples 'neutron_plugin_config' do
let :params do
{
:plugin_linuxbridge_config => config_hash,
:plugin_nsx_config => config_hash,
:plugin_opencontrail_config => config_hash,
:plugin_nuage_config => config_hash,
:plugin_ml2_config => config_hash
}
end
it 'configures arbitrary neutron_plugin_linuxbridge configurations' do
should contain_neutron_plugin_linuxbridge('DEFAULT/foo').with_value('fooValue')
should contain_neutron_plugin_linuxbridge('DEFAULT/bar').with_value('barValue')
should contain_neutron_plugin_linuxbridge('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_plugin_nsx configurations' do
should contain_neutron_plugin_nsx('DEFAULT/foo').with_value('fooValue')
should contain_neutron_plugin_nsx('DEFAULT/bar').with_value('barValue')
should contain_neutron_plugin_nsx('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_plugin_opencontrail configurations' do
should contain_neutron_plugin_opencontrail('DEFAULT/foo').with_value('fooValue')
should contain_neutron_plugin_opencontrail('DEFAULT/bar').with_value('barValue')
should contain_neutron_plugin_opencontrail('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_plugin_nuage configurations' do
should contain_neutron_plugin_nuage('DEFAULT/foo').with_value('fooValue')
should contain_neutron_plugin_nuage('DEFAULT/bar').with_value('barValue')
should contain_neutron_plugin_nuage('DEFAULT/baz').with_ensure('absent')
end
it 'configures arbitrary neutron_plugin_ml2 configurations' do
should contain_neutron_plugin_ml2('DEFAULT/foo').with_value('fooValue')
should contain_neutron_plugin_ml2('DEFAULT/bar').with_value('barValue')
should contain_neutron_plugin_ml2('DEFAULT/baz').with_ensure('absent')
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 'neutron_config'
it_behaves_like 'neutron_api_paste_ini'
it_behaves_like 'neutron_service_config'
it_behaves_like 'neutron_agent_config'
it_behaves_like 'neutron_plugin_config'
end
end
end