From 20355edb2b10edc5b126ea80a5e64043511af169 Mon Sep 17 00:00:00 2001 From: labedz <ktomaszewski@cloudferro.com> Date: Wed, 21 Dec 2022 14:25:43 +0000 Subject: [PATCH] ovn: add ovn-monitor-all variable Setting ovn-monitor-all to 'true' will configure ovn-controller to monitor all OVS database records unconditionally. That will release some CPU resource from OVS Southbound DB but will increase number of events coming to ovn-controller. Default value is 'false'. Change-Id: I291e166013d8c88f00e84ceaf308251c352c9a79 --- ansible/roles/ovn-controller/defaults/main.yml | 2 ++ ansible/roles/ovn-controller/tasks/setup-ovs.yml | 1 + .../notes/ovn-monitor-all-782e7cdc04688fc6.yaml | 10 ++++++++++ 3 files changed, 13 insertions(+) create mode 100644 releasenotes/notes/ovn-monitor-all-782e7cdc04688fc6.yaml diff --git a/ansible/roles/ovn-controller/defaults/main.yml b/ansible/roles/ovn-controller/defaults/main.yml index b97b4ccba..7fe795bfc 100644 --- a/ansible/roles/ovn-controller/defaults/main.yml +++ b/ansible/roles/ovn-controller/defaults/main.yml @@ -36,3 +36,5 @@ ovn_base_mac: "52:54:00" ovn_remote_probe_interval: "60000" # Configure OVN openflow interval in s ovn_openflow_probe_interval: "60" +# Configure OVN monitor-all in boolean +ovn_monitor_all: "false" diff --git a/ansible/roles/ovn-controller/tasks/setup-ovs.yml b/ansible/roles/ovn-controller/tasks/setup-ovs.yml index 7c2fb0f14..82f782989 100644 --- a/ansible/roles/ovn-controller/tasks/setup-ovs.yml +++ b/ansible/roles/ovn-controller/tasks/setup-ovs.yml @@ -33,6 +33,7 @@ - { name: ovn-remote, value: "{{ ovn_sb_connection }}" } - { name: ovn-remote-probe-interval, value: "{{ ovn_remote_probe_interval }}" } - { name: ovn-openflow-probe-interval, value: "{{ ovn_openflow_probe_interval }}" } + - { name: ovn-monitor-all, value: "{{ ovn_monitor_all | bool }}" } - { name: ovn-bridge-mappings, value: "{{ ovn_mappings }}", state: "{{ 'present' if (inventory_hostname in groups['ovn-controller-network'] or computes_need_external_bridge | bool) else 'absent' }}" } - { name: ovn-chassis-mac-mappings, value: "{{ ovn_macs }}", state: "{{ 'present' if inventory_hostname in groups['ovn-controller-compute'] else 'absent' }}" } - { name: ovn-cms-options, value: "{{ ovn_cms_opts }}", state: "{{ 'present' if ovn_cms_opts != '' else 'absent' }}" } diff --git a/releasenotes/notes/ovn-monitor-all-782e7cdc04688fc6.yaml b/releasenotes/notes/ovn-monitor-all-782e7cdc04688fc6.yaml new file mode 100644 index 000000000..76ee3651d --- /dev/null +++ b/releasenotes/notes/ovn-monitor-all-782e7cdc04688fc6.yaml @@ -0,0 +1,10 @@ +--- +features: + - | + Adds ``ovn-monitor-all`` variable. A boolean value that tells if + ovn-controller should unconditionally monitor all records in OVS + databases. + Setting ``ovn-monitor-all`` variable to 'true' will remove some CPU + load from OVN SouthBound DB but will effect with more updates + comming to ovn-controller. Might be helpfull in large deployments + with many compute hosts. -- GitLab