neutron/neutron/tests/functional
Daniel Alvarez Sanchez b767825d13 [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:
  neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py
  neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovsdb_monitor.py
  neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/test_mech_driver.py

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 <dalvarez@redhat.com>
Change-Id: Id84bf17953527c415d611bfc198038fb6f811de3
(cherry picked from commit f6c3552769)
2021-10-26 13:32:15 +01:00
..
agent Merge "[ovn] metadata functional tests don't support Chassis_Private" into stable/ussuri 2021-10-12 18:50:57 +00:00
api Convert policy.json into policy-in-code 2018-12-13 20:37:53 +00:00
cmd Deprecate config option "ovs_integration_bridge" 2020-02-17 11:02:16 +00:00
common All functional tests logs results now 2018-11-21 19:58:18 +00:00
db Remove FT "test_has_offline_migrations_*" tests 2021-04-07 09:17:48 +00:00
objects Randomize segmentation ID assignation 2021-09-10 11:27:15 +02:00
pecan_wsgi Remove references to unittest2 library 2020-01-14 09:03:26 +00:00
plugins [ovn] Stop monitoring the SB MAC_Binding table to reduce mem footprint 2021-10-26 13:32:15 +01:00
privileged Migrate "netstat" to oslo.privsep 2021-02-25 09:55:41 +01:00
resources [OVN] Add OVN functional tests - part 1 2020-02-18 13:33:52 +00:00
sanity Use pyroute2 for SRIOV VF commands 2020-06-26 06:09:48 +00:00
scheduler Add binding_index to NetworkDhcpAgentBinding 2019-08-29 12:52:07 +04:00
services Revert "DVR: Remove control plane arp updates for DVR" 2021-03-09 13:08:28 +00:00
tests Mark NetcatTesterTestCase tests as unstable 2020-02-14 14:08:52 +00:00
__init__.py tests: removed 'retargetable' framework 2017-05-02 16:45:49 +00:00
base.py [ovn] metadata functional tests don't support Chassis_Private 2021-09-23 17:33:20 +00:00
constants.py TrunkManager for the OVS agent 2016-08-24 02:52:17 -04:00
requirements.txt [ussuri] Fix tests with new pip resolver 2020-12-16 09:53:09 +01:00
test_server.py Use "multiprocessing.Queue" for "TestNeutronServer" related tests 2021-07-02 10:00:29 +00:00
test_service.py Modify api and rpc default number of workers 2019-02-19 13:24:01 -07:00