commit b767825d1329dbb7fcff264d6047d2513d02db4e
Author: Daniel Alvarez Sanchez <email address hidden>
Date: Thu Oct 7 09:23:21 2021 +0200
[ovn] Stop monitoring the SB MAC_Binding table to reduce mem footprint
The MAC_Binding table in the SB database may grow indefinitely (due
to a lack of an aging mechanism of its entries) and eventually
lead to OOM killers for neutron-server which maintains an in-memory
copy of the database.
In order to stop monitoring this table, this patch is invoking
the ovsdb-client tool to remove the entries associated to
Floating IPs that have just been detached. The execution of this
tool is really fast as it will just invoke a JSON-RPC transact command
which doesn't require downloading the database contents.
In a scale test, the memory consumption of neutron-server dropped
from 75GB to 7GB with this patch.
Note: The functional test has been changed for this stable branch
because the update_tables() method from ovsdbapp is not availabie for
this version of Neutron. So I changed the functional test to add the
MAC_Binding entry via ovsdb-client instead of using ovsdbapp to do so.
Signed-off-by: Daniel Alvarez Sanchez <email address hidden>
Change-Id: Id84bf17953527c415d611bfc198038fb6f811de3
(cherry picked from commit f6c35527698119ee6f73a6a3613c9beebb563840)
Reviewed: https:/ /review. opendev. org/c/openstack /neutron/ +/814869 /opendev. org/openstack/ neutron/ commit/ b767825d1329dbb 7fcff264d6047d2 513d02db4e
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/ussuri
commit b767825d1329dbb 7fcff264d6047d2 513d02db4e
Author: Daniel Alvarez Sanchez <email address hidden>
Date: Thu Oct 7 09:23:21 2021 +0200
[ovn] Stop monitoring the SB MAC_Binding table to reduce mem footprint
The MAC_Binding table in the SB database may grow indefinitely (due
to a lack of an aging mechanism of its entries) and eventually
lead to OOM killers for neutron-server which maintains an in-memory
copy of the database.
In order to stop monitoring this table, this patch is invoking
the ovsdb-client tool to remove the entries associated to
Floating IPs that have just been detached. The execution of this
tool is really fast as it will just invoke a JSON-RPC transact command
which doesn't require downloading the database contents.
In a scale test, the memory consumption of neutron-server dropped
from 75GB to 7GB with this patch.
Closes-Bug: #1946318
Conflicts: plugins/ ml2/drivers/ ovn/mech_ driver/ mech_driver. py tests/functiona l/plugins/ ml2/drivers/ ovn/mech_ driver/ ovsdb/test_ ovsdb_monitor. py tests/unit/ plugins/ ml2/drivers/ ovn/mech_ driver/ test_mech_ driver. py
neutron/
neutron/
neutron/
Note: The functional test has been changed for this stable branch
because the update_tables() method from ovsdbapp is not availabie for
this version of Neutron. So I changed the functional test to add the
MAC_Binding entry via ovsdb-client instead of using ovsdbapp to do so.
Signed-off-by: Daniel Alvarez Sanchez <email address hidden> 415d611bfc19803 8fb6f811de3 e6f73a6a3613c9b eebb563840)
Change-Id: Id84bf17953527c
(cherry picked from commit f6c35527698119e