OpenStack Networking (Neutron)
Go to file
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
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
devstack ovn: Use new OVS commit hash 2020-09-24 09:38:38 +02:00
doc Fix typo in OVN SUPPORTED_DHCP_OPTS_MAPPING dictionary (ia-addr) 2021-08-06 10:45:06 +00:00
etc Updates for python3.8 2021-05-31 14:29:14 +00:00
neutron [ovn] Stop monitoring the SB MAC_Binding table to reduce mem footprint 2021-10-26 13:32:15 +01:00
playbooks Migrate neutron grenade jobs to be native Zuul v3 2020-06-21 23:55:09 +02:00
rally-jobs [ci] Fix several rally task arguments 2020-07-09 16:12:09 +03:00
releasenotes Remove dhcp_extra_opt value after first newline character 2021-08-31 13:47:27 +00:00
roles [OVN] Unify OVN/OVS compilation 2020-07-17 11:40:37 +00:00
tools [OVN Migration] Remove qr and dhcp ports from the nodes 2021-10-25 12:18:42 +00:00
vagrant/ovn [OVN] Merge networking-ovn vagrant into neutron 2020-02-18 17:26:15 -05:00
zuul.d Merge "[Stable only] Set irrelevant-files in some additional jobs" into stable/ussuri 2021-06-26 15:59:28 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Add etc/neutron/*.sample files to be ignored by git 2019-12-12 12:38:24 +01:00
.gitreview Update .gitreview for stable/ussuri 2020-04-24 12:48:14 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Fix pylint R1717 (consider-using-dict-comprehension) refactor messages 2019-03-14 23:19:58 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
CONTRIBUTING.rst [Community goal] Add contributor and PTL guide 2020-03-03 04:43:26 +01:00
HACKING.rst Remove references to unittest2 library 2020-01-14 09:03:26 +00:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Start README.rst with a better title 2019-11-19 17:42:57 +01:00
TESTING.rst Dropping lower constraints testing (stable Ussuri) 2021-01-12 15:49:13 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Merge "Stop testing python 2" 2019-10-28 00:52:16 +00:00
plugin.spec Migrate the OVN migration scripts 2020-03-31 15:35:35 +01:00
requirements.txt Bump neutron-lib to 2.2.0 2020-03-10 14:14:15 +00:00
setup.cfg Migrate the OVN migration scripts 2020-03-31 15:35:35 +01:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Fix pep8 job 2020-07-10 13:46:34 +00:00
tox.ini Group execution of SQL functional tests 2021-04-13 09:41:52 +00:00

README.rst

OpenStack Neutron

image

Neutron is an OpenStack project to provide "network connectivity as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., Nova).

To learn more about neutron:

Get in touch via email. Use [Neutron] in your subject.

To learn how to contribute, please read the CONTRIBUTING.rst file.