diff --git a/ansible/roles/ovn-controller/defaults/main.yml b/ansible/roles/ovn-controller/defaults/main.yml
index b97b4ccbace5ed3b304ee34c8e3934167c00639b..7fe795bfc39b96159427caa81cbf0bc55db8beab 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 7c2fb0f14a709fcf544f6c268d7715ec8abd8f3e..82f7829893d00716fdb420c8f9c0dd565660c175 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 0000000000000000000000000000000000000000..76ee3651dd60b43766cc979768f54919880836e0
--- /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.