OpenStack Networking (Neutron)
Go to file
LIU Yulong 0b9f4f275c Dynamically increase l3 router process queue green pool size
There is a race condition between nova-compute boots instance and
l3-agent processes DVR (local) router in compute node. This issue
can be seen when a large number of instances were booted to one
same host, and instances are under different DVR router. So the
l3-agent will concurrently process all these dvr routers in this
host at the same time.
For now we have a green pool for the router ResourceProcessingQueue
with 8 greenlet, but some of these routers can still be waiting, event
worse thing is that there are time-consuming actions during the router
processing procedure. For instance, installing arp entries, iptables
rules, route rules etc.
So when the VM is up, it will try to get meta via the local proxy
hosting by the dvr router. But the router is not ready yet in that
host. And finally those instances will not be able to setup some
config in the guest OS.

This patch adds a new measurement based on the router quantity to
indicate the L3 router process queue green pool size. The pool size
will be limit from 8 (original value) to 32, because we do not want
the L3 agent cost too much host resource on processing router in the
compute node.

Conflicts:
    neutron/tests/functional/agent/l3/test_legacy_router.py


Related-Bug: #1813787
Change-Id: I62393864a103d666d5d9d379073f5fc23ac7d114
(cherry picked from commit 837c9283ab)
2020-05-26 15:30:13 +00:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
bin Use os-xenapi for neutron when XenServer as hypervisor 2017-03-30 18:33:37 +00:00
devstack Add port_forwarding to devstack plugin 2019-05-27 10:47:32 +00:00
doc Add VLAN type conntrack direct flow 2020-03-25 21:43:32 +00:00
etc Merge "List SG rules which belongs to tenant's SG" into stable/rocky 2020-02-18 06:31:32 +00:00
neutron Dynamically increase l3 router process queue green pool size 2020-05-26 15:30:13 +00:00
playbooks/legacy OpenDev Migration Patch 2019-04-19 19:39:02 +00:00
rally-jobs [rally] Port custom plugins to use proper code 2018-05-18 00:25:35 +03:00
releasenotes Add accepted egress direct flow 2020-03-26 08:23:32 +00:00
tools Merge "Switch to stestr" 2018-06-07 02:24:02 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Switch to stestr 2018-06-02 13:03:33 +02:00
.gitreview OpenDev Migration Patch 2019-04-19 19:39:02 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Update pylint disable list to pass pylint 1.7.1 checks 2017-06-08 09:49:46 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
.zuul.yaml Use rally-openstack 1.7.0 for stable/rocky 2020-03-24 15:38:08 +01:00
CONTRIBUTING.rst Update link for contribution 2017-08-31 16:44:51 +02:00
HACKING.rst Update the documentation link for doc migration 2017-07-22 18:46:13 +09: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 Add release notes link in README 2018-07-10 15:40:00 +07:00
TESTING.rst Docs: Fix wrong stestr argument 2018-07-17 09:45:43 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
bindep.txt Add libffi-dev to bindep.txt 2017-06-13 19:26:49 +00:00
lower-constraints.txt bump neutron-lib requirements to 1.18.0 2018-07-19 06:29:48 -06:00
requirements.txt metadata: use requests for comms with nova api 2018-09-04 10:04:47 +01:00
setup.cfg Add enforcer logic for neutron policy 2019-03-25 16:07:51 -04:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Cap pycodestyle to be < 2.6.0 2020-05-13 17:41:04 +02:00
tox.ini Use constraints for docs tox target and cap hacking 2019-12-19 15:18:12 +01:00

README.rst

Team and repository tags

image

Welcome!

To learn more about neutron:

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

To learn how to contribute:

CONTRIBUTING.rst