Add ovn-monitor-all option to ovn-controller

With monitor-all option, all ovn-controllers
do not enable conditional monitoring there
by reducing the load on the Southbound ovsdb-server.

Conflicts:
	manifests/controller.pp

Partial-Bug: #1936781
Signed-off-by: Kamil Sambor <ksambor@redhat.com>
Change-Id: Ia78c0873e7ac6488b3048ae8475cc87ec40022bb
(cherry picked from commit 7a1bb54519)
This commit is contained in:
Kamil Sambor 2021-07-20 14:08:49 +02:00 committed by Takashi Kajinami
parent e0a8991e9e
commit 9879556556
3 changed files with 17 additions and 0 deletions

View File

@ -81,6 +81,12 @@
# vlan type logical switch.
# Defaults to empty list
#
# [*ovn_monitor_all*]
# (optional) A boolean value that tells if ovn-controller should monitor all
# records of tables in ovs-database. If set to false, it will conditionally
# monitor the records that is needed in the current chassis.
# Default to false (keep the original behavior)
#
# DEPRECATED PARAMETERS
#
# [*enable_hw_offload*]
@ -105,6 +111,7 @@ class ovn::controller(
$ovn_transport_zones = [],
$enable_ovn_match_northd = false,
$ovn_chassis_mac_map = [],
$ovn_monitor_all = false,
# DEPRECATED PARAMETERS
$enable_hw_offload = undef,
) {
@ -149,6 +156,7 @@ class ovn::controller(
'external_ids:ovn-bridge' => { 'value' => $ovn_bridge },
'external_ids:ovn-remote-probe-interval' => { 'value' => "${ovn_remote_probe_interval}" },
'external_ids:ovn-openflow-probe-interval' => { 'value' => "${ovn_openflow_probe_interval}" },
'external_ids:ovn-monitor-all' => { 'value' => "${ovn_monitor_all}" },
}
if !empty($ovn_chassis_mac_map) {

View File

@ -0,0 +1,4 @@
---
features:
- |
The new ``ovn::controller::ovn_monitor_all`` parameter has been added.

View File

@ -14,6 +14,7 @@ describe 'ovn::controller' do
:mac_table_size => 20000,
:ovn_remote_probe_interval => 30000,
:ovn_openflow_probe_interval => 8,
:ovn_monitor_all => true,
:ovn_transport_zones => ['tz1'],
:enable_ovn_match_northd => false,
:ovn_chassis_mac_map => ['physnet1:aa:bb:cc:dd:ee:ff',
@ -77,6 +78,10 @@ describe 'ovn::controller' do
:value => params[:ovn_openflow_probe_interval],
)
is_expected.to contain_vs_config('external_ids:ovn-monitor-all').with(
:value => params[:ovn_monitor_all],
)
is_expected.to contain_vs_config('external_ids:ovn-transport-zones').with(
:value => params[:ovn_transport_zones],
)