neutron/neutron/tests/unit
yangjianfeng 056e049e2b 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-06 07:32:01 +00:00
..
agent Improve port dhcp Provisioning 2019-04-06 07:32:01 +00:00
api Improve port dhcp Provisioning 2019-04-06 07:32:01 +00:00
cmd Fix exception in neutron-sanity-check 2018-06-13 18:21:14 +00:00
common Allow Ipv6 addresses for nova_metadata_host 2018-10-13 07:14:05 +00:00
conf/agent Agent common config 2017-03-15 09:52:18 -06:00
core_extensions Refactor duplicated implementation of _get_policy_obj 2018-06-20 09:51:02 +08:00
db Improve port dhcp Provisioning 2019-04-06 07:32:01 +00:00
debug Change ip_lib network namespace code to use pyroute2 2017-10-04 21:09:28 +00:00
extensions Merge "Fix performance regression adding rules to security groups" into stable/rocky 2019-02-09 10:38:17 +00:00
hacking Adopt hacking 1.1.0 2018-07-05 11:31:40 +09:00
ipam Removed unnecessary setUp calls in tests 2017-07-31 17:16:01 +02:00
notifiers Fix W503 pep8 warnings 2018-04-17 14:22:58 +00:00
objects Update neutron files for new over-indentation hacking rule (E117) 2019-01-30 20:05:18 +03:00
pecan_wsgi Removing deprecated module neutron.api.versions 2018-03-28 14:15:50 +07:00
plugins Delete port binding level for deleted bindings 2019-03-06 14:37:08 +00:00
privileged python3: fix netlink_lib delete_entries 2018-06-29 00:30:19 +02:00
quota use get reader/writer session from neutron-lib 2018-07-06 14:43:31 -06:00
scheduler DVR: Centralized FloatingIPs are not cleared after migration. 2018-11-15 17:41:26 +00:00
services Update neutron files for new over-indentation hacking rule (E117) 2019-01-30 20:05:18 +03:00
tests Update neutron files for new over-indentation hacking rule (E117) 2019-01-30 20:05:18 +03:00
__init__.py Don't set use_stderr to False for tests 2017-04-15 01:41:29 +00:00
_test_extension_portbindings.py Remove the unit test 'test_ports_vnic_type_list' 2018-06-15 15:12:10 +00:00
dummy_plugin.py use neutron-lib servicetype api def 2018-03-27 14:32:44 -06:00
extension_stubs.py Consume ServicePluginBase from neutron-lib 2017-03-17 12:06:57 -06:00
test_auth.py Fix context deprecation warnings 2018-02-13 15:02:49 -05:00
test_manager.py Implement filter validation 2018-07-19 04:13:43 +00:00
test_neutron_plugin_base_v2.py Add unit test to validate non DB base core plugin can be loaded 2017-11-15 21:21:35 +00:00
test_opts.py
test_policy.py Add ext_parent policy check 2018-08-01 02:45:42 +08:00
test_service.py use callback payloads for _SPAWN events 2017-12-21 11:03:36 -07:00
test_worker.py Move AgentStatusCheckWorker to PeriodicWorker 2016-11-17 15:31:19 -08:00
test_wsgi.py Update neutron files for new over-indentation hacking rule (E117) 2019-01-30 20:05:18 +03:00
testlib_api.py Adopt hacking 1.1.0 2018-07-05 11:31:40 +09:00