99f4495c94
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. Related-Bug: #1760047 Change-Id: I255caa0571c42fb012fe882259ef181070beccef |
||
---|---|---|
api-ref | ||
bin | ||
devstack | ||
doc | ||
etc | ||
neutron | ||
playbooks/legacy | ||
rally-jobs | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.pylintrc | ||
.stestr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
TESTING.rst | ||
babel.cfg | ||
bindep.txt | ||
lower-constraints.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
Welcome!
To learn more about neutron:
- Documentation: https://docs.openstack.org
- Features: https://specs.openstack.org/openstack/neutron-specs
- Defects: https://launchpad.net/neutron
- Release notes: https://docs.openstack.org/releasenotes/neutron/index.html
Get in touch via email. Use [Neutron] in your subject.
To learn how to contribute:
CONTRIBUTING.rst