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
This commit is contained in:
Takashi Kajinami 2022-04-20 09:39:27 +09:00
parent 47ee9cb8cb
commit 6558793c1d
3 changed files with 31 additions and 12 deletions

View File

@ -33,6 +33,9 @@
# [*sriov_agent_config*]
# (optional) Manage configuration of sriov_agent.ini
#
# [*linuxbridge_agent_config*]
# (optional) Manage configuration of linuxbridge_agent.ini
#
# [*bgpvpn_bagpipe_config*]
# (optional) Manage configuration of bagpipe-bgp bgp.conf
#
@ -97,6 +100,7 @@ class neutron::config (
$api_paste_ini = {},
$ovs_agent_config = {},
$sriov_agent_config = {},
$linuxbridge_agent_config = {},
$bgpvpn_bagpipe_config = {},
$bgpvpn_service_config = {},
$l2gw_agent_config = {},
@ -128,6 +132,7 @@ class neutron::config (
validate_legacy(Hash, 'validate_hash', $api_paste_ini)
validate_legacy(Hash, 'validate_hash', $ovs_agent_config)
validate_legacy(Hash, 'validate_hash', $sriov_agent_config)
validate_legacy(Hash, 'validate_hash', $linuxbridge_agent_config)
validate_legacy(Hash, 'validate_hash', $bgpvpn_bagpipe_config)
validate_legacy(Hash, 'validate_hash', $bgpvpn_service_config)
validate_legacy(Hash, 'validate_hash', $l2gw_agent_config)
@ -150,13 +155,16 @@ class neutron::config (
create_resources('neutron_api_paste_ini', $api_paste_ini)
create_resources('neutron_agent_ovs', $ovs_agent_config)
create_resources('neutron_sriov_agent_config', $sriov_agent_config)
create_resources('neutron_agent_linuxbridge', $linuxbridge_agent_config)
create_resources('neutron_bgpvpn_bagpipe_config', $bgpvpn_bagpipe_config)
create_resources('neutron_bgpvpn_service_config', $bgpvpn_service_config)
create_resources('neutron_l2gw_agent_config', $l2gw_agent_config)
create_resources('neutron_l2gw_service_config', $l2gw_service_config)
create_resources('neutron_sfc_service_config', $sfc_service_config)
create_resources('neutron_l3_agent_config', $l3_agent_config)
create_resources('neutron_dhcp_agent_config', $dhcp_agent_config)
create_resources('neutron_metadata_agent_config', $metadata_agent_config)
create_resources('ovn_metadata_agent_config', $ovn_metadata_agent_config)
create_resources('neutron_metering_agent_config', $metering_agent_config)
create_resources('neutron_vpnaas_agent_config', $vpnaas_agent_config)
create_resources('neutron_bgp_dragent_config', $bgp_dragent_config)
@ -164,7 +172,5 @@ class neutron::config (
create_resources('neutron_plugin_opencontrail', $plugin_opencontrail_config)
create_resources('neutron_plugin_nuage', $plugin_nuage_config)
create_resources('neutron_plugin_ml2', $plugin_ml2_config)
create_resources('neutron_l2gw_service_config', $l2gw_service_config)
create_resources('neutron_plugin_nsx', $plugin_nsx_config)
create_resources('ovn_metadata_agent_config', $ovn_metadata_agent_config)
}

View File

@ -0,0 +1,6 @@
---
features:
- |
The new ``neutron::config::linuxbridge_agent_config`` parameter has been
added. This parameter provides the interface to define arbitrary
configurations to the ``linuxbridge_agent.ini`` file.

View File

@ -56,19 +56,20 @@ describe 'neutron::config' do
shared_examples 'neutron_agent_config' do
let :params do
{ :ovs_agent_config => config_hash,
:sriov_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,
{ :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_ovs_agent_config configurations' do
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')
@ -80,6 +81,12 @@ describe 'neutron::config' do
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')