OpenStack Networking (Neutron)
Go to file
yangjianfeng 740295d94d 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/tests/unit/agent/dhcp/test_agent.py

Related-Bug: #1760047
Change-Id: I255caa0571c42fb012fe882259ef181070beccef
(cherry picked from commit 99f4495c94)
2019-04-03 12:24:56 +02: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-08 13:12:31 +00:00
doc Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:37 +00:00
etc Add rootwrap filters to kill state change monitor 2019-03-21 17:50:00 +00:00
neutron Improve port dhcp Provisioning 2019-04-03 12:24:56 +02:00
playbooks/legacy Replace openstack.org git:// URLs with https:// 2019-03-24 20:34:37 +00:00
rally-jobs [rally] Port custom plugins to use proper code 2018-05-18 00:25:35 +03:00
releasenotes Merge "Fix port update deferred IP allocation with host_id + new MAC" into stable/rocky 2019-02-07 01:16:34 +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 Update .gitreview for stable/rocky 2018-08-09 21:54:30 +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 Merge "Increase tempest jobs timeout" into stable/rocky 2018-10-30 07:31:13 +00: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 Fix iptables metering driver entrypoint 2018-08-13 19:02:48 +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-17 17:14:21 +02:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/rocky 2018-08-21 11:12:47 +00: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