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

(victoria -> ususri)
Conflicts:
	spec/classes/ovn_controller_spec.rb

Resolved conflict caused by dba349dad0

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

View File

@ -76,6 +76,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,
@ -91,6 +97,7 @@ class ovn::controller(
$ovn_remote_probe_interval = 60000,
$ovn_openflow_probe_interval = 60,
$ovn_chassis_mac_map = [],
$ovn_monitor_all = false,
) {
include ::ovn::params
@ -133,6 +140,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_chassis_mac_map => ['physnet1:aa:bb:cc:dd:ee:ff',
'physnet2:bb:aa:cc:dd:ee:ff']
}
@ -75,6 +76,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-chassis-mac-mappings').with(
:value => 'physnet1:aa:bb:cc:dd:ee:ff,physnet2:bb:aa:cc:dd:ee:ff',
)