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

(wallaby -> victoria)
Conflicts:
	manifests/controller.pp

Resolved conflict caused by c60fdb9540

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

View File

@ -80,6 +80,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)
#
class ovn::controller(
$ovn_remote,
$ovn_encap_ip,
@ -96,6 +102,7 @@ class ovn::controller(
$ovn_openflow_probe_interval = 60,
$ovn_transport_zones = [],
$ovn_chassis_mac_map = [],
$ovn_monitor_all = false,
) {
include ovn::params
@ -138,6 +145,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'],
:ovn_chassis_mac_map => ['physnet1:aa:bb:cc:dd:ee:ff',
'physnet2:bb:aa:cc:dd:ee:ff']
@ -76,6 +77,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],
)