OpenStack Networking (Neutron)
Go to file
yangjianfeng dd5e89e717 Improve port dhcp Provisioning
Currently, the dhcp Provisioning of ports is the crucial bottleneck
of that concurrently boot multiple VM.

The root cause is that these ports will be processed one by one by dhcp
agent when they belong to the same network, And the 'Provisioning complete'
port is still blocked other port's processing in other dhcp agents. The
patch aim to optimize the dispatch strategy of the port cast to agent to
improve the Provisioning process.

In server side, I classify messages to multi levels. Especially, I classify
the port_update_end or port_create_end message to two levels, the high-level
message only cast to one agent, the low-level message cast to all agent. In
agent side I put these messages to `resource_processing_queue`, with the queue,
We can delete `_net_lock` and process these messages in order of priority.

Additonally, I modified the `resource_processing_queue` for my demand. I update
`_queue` from LIST to PriorityQueue in `ExclusiveResourceProcessor`, by this
way, we can sort all message which cached in `ExclusiveResourceProcessor` by
priority.

Conflicts:
    neutron/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py

Related-Bug: #1760047
Change-Id: I255caa0571c42fb012fe882259ef181070beccef
(cherry picked from commit 99f4495c94)
(cherry picked from commit 740295d94d)
2019-04-10 16:17:29 +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 DevStack: OVS: Only install kernel-* packages when needed 2018-11-23 10:23:12 +00:00
doc Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:36 +00:00
etc Add rootwrap filters to kill state change monitor 2019-03-21 17:50:35 +00:00
neutron Improve port dhcp Provisioning 2019-04-10 16:17:29 +00:00
playbooks/legacy Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:36 +00:00
rally-jobs Switch rally job from q-* to neutron-* service names 2018-01-09 12:12:48 -08:00
releasenotes More accurate agent restart state transfer 2019-03-29 22:07:57 +08:00
tools Disable IPv6 forwarding by default on HA routers 2018-06-03 19:10:40 +00:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Added zuulv3 jobs for testing neutron tempest plugin 2017-11-13 09:30:36 +05:30
.gitreview Update .gitreview for stable/queens 2018-02-09 16:36:24 +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
.testr.conf Allow more time for DB migration tests 2016-09-21 20:54:41 -04:00
.zuul.yaml import zuul job settings from project-config 2018-08-29 17:44:20 -04: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 Correct tag link in README 2017-08-03 09:47:25 +08:00
TESTING.rst Compile ovs for ovsfw to avoid ovs-vswitchd core dumps 2018-02-13 14:59:58 +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
requirements.txt Updated from global requirements 2018-02-01 07:17:59 +00:00
setup.cfg Add enforcer logic for neutron policy 2019-04-08 16:31:37 +00:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt cap bandit in test-requirements.txt 2018-08-25 23:04:56 +02:00
tox.ini Fix pep8 errors 2018-04-12 01:31:55 +09: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