Browse Source

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)
changes/53/756253/2
Bernard Cafarelli 7 months ago
parent
commit
a601e24130
No known key found for this signature in database GPG Key ID: 9531F08245465A52
3 changed files with 28 additions and 0 deletions
  1. +8
    -0
      manifests/agents/ml2/ovs.pp
  2. +9
    -0
      releasenotes/notes/ovs_agent_explicitly_egress_direct-a5989bd33844c0f4.yaml
  3. +11
    -0
      spec/classes/neutron_agents_ml2_ovs_spec.rb

+ 8
- 0
manifests/agents/ml2/ovs.pp View File

@ -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;


+ 9
- 0
releasenotes/notes/ovs_agent_explicitly_egress_direct-a5989bd33844c0f4.yaml View File

@ -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.

+ 11
- 0
spec/classes/neutron_agents_ml2_ovs_spec.rb View File

@ -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…
Cancel
Save