Add agent/explicitly_egress_direct support
This configuration parameter for the ML2/OVS agent was added in
I14fefe289a19b718b247bf0740ca9bc47f8903f4 and backported up to
stable/queens, preventing flooding on integration bridge in some cases.
It needs to be enabled on specific node types, so add option to
configure it.
Conflicts:
manifests/agents/ml2/ovs.pp
spec/classes/neutron_agents_ml2_ovs_spec.rb
Related-Bug: #1732067
Change-Id: Iff50d2d086c687ef9ec1ba878e24c06dfc8a7d99
(cherry picked from commit d0bc82d842
)
This commit is contained in:
parent
d839211929
commit
a601e24130
|
@ -173,6 +173,12 @@
|
|||
# outgoing IP packet carrying GRE/VXLAN tunnel.
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# [*explicitly_egress_direct*]
|
||||
# (optional) When set to True, the accepted egress unicast traffic will not
|
||||
# use action NORMAL. The accepted egress packets will be taken care of in the
|
||||
# final egress tables direct output flows for unicast traffic. (boolean value)
|
||||
# Defaults to $::os_service_default
|
||||
#
|
||||
# DEPRECATED
|
||||
#
|
||||
# [*of_interface*]
|
||||
|
@ -212,6 +218,7 @@ class neutron::agents::ml2::ovs (
|
|||
$permitted_ethertypes = $::os_service_default,
|
||||
$minimize_polling = $::os_service_default,
|
||||
$tunnel_csum = $::os_service_default,
|
||||
$explicitly_egress_direct = $::os_service_default,
|
||||
# DEPRECATED
|
||||
$of_interface = undef,
|
||||
) {
|
||||
|
@ -313,6 +320,7 @@ class neutron::agents::ml2::ovs (
|
|||
'agent/extensions': value => join(any2array($extensions), ',');
|
||||
'agent/minimize_polling': value => $minimize_polling;
|
||||
'agent/tunnel_csum': value => $tunnel_csum;
|
||||
'agent/explicitly_egress_direct': value => $explicitly_egress_direct;
|
||||
'ovs/ovsdb_timeout': value => $ovsdb_timeout;
|
||||
'ovs/of_connect_timeout': value => $of_connect_timeout;
|
||||
'ovs/of_request_timeout': value => $of_request_timeout;
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Add new configuration parameter explicitly_egress_direct for ML2 OVS agent
|
||||
When set to True, the accepted egress unicast traffic will not use action
|
||||
NORMAL. The accepted egress packets will be taken care of in the final
|
||||
egress tables direct output flows for unicast traffic so that operators can
|
||||
set customized integration bridge name in l3 agent configuration.
|
||||
This can be enabled on some nodes to prevent flooding on integration bridge.
|
|
@ -65,6 +65,7 @@ describe 'neutron::agents::ml2::ovs' do
|
|||
is_expected.to contain_neutron_agent_ovs('ovs/int_peer_patch_port').with_ensure('absent')
|
||||
is_expected.to contain_neutron_agent_ovs('ovs/tun_peer_patch_port').with_ensure('absent')
|
||||
is_expected.to contain_neutron_agent_ovs('agent/tunnel_types').with_ensure('absent')
|
||||
is_expected.to contain_neutron_agent_ovs('agent/explicitly_egress_direct').with_value(['<SERVICE DEFAULT>'])
|
||||
end
|
||||
|
||||
it 'installs neutron ovs agent package' do
|
||||
|
@ -376,6 +377,16 @@ describe 'neutron::agents::ml2::ovs' do
|
|||
end
|
||||
end
|
||||
|
||||
context 'with direct output enabled for egress flows' do
|
||||
before :each do
|
||||
params.merge!(:explicitly_egress_direct => true)
|
||||
end
|
||||
|
||||
it 'configure neutron/plugins/ml2/ml2_conf.ini' do
|
||||
is_expected.to contain_neutron_agent_ovs('agent/explicitly_egress_direct').with_value(true)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
on_supported_os({
|
||||
|
|
Loading…
Reference in New Issue