neutron/neutron/tests/unit/db
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
..
metering use metering api def from neutron-lib 2017-11-03 14:03:20 -06:00
quota Update neutron files for new over-indentation hacking rule (E117) 2019-02-02 10:48:26 +00:00
__init__.py Empty files should not contain copyright or license 2014-10-20 00:50:32 +00:00
test_agents_db.py Use Agent OVO in agents_db and test_agents_db 2017-11-03 16:46:09 +07:00
test_agentschedulers_db.py Improve port dhcp Provisioning 2019-04-10 16:17:29 +00:00
test_allowedaddresspairs_db.py use addr pairs api def from lib 2017-11-13 11:56:32 -07:00
test_api.py Add DBError to _is_nested_instance 2017-02-05 17:42:08 -08:00
test_common_db_mixin.py Spin off context module 2017-03-06 16:25:29 +00:00
test_db_base_plugin_common.py Replace to_dict() calls with a function decorator 2015-08-03 11:42:25 +03:00
test_db_base_plugin_v2.py Add enforcer logic for neutron policy 2019-04-08 16:31:37 +00:00
test_dvr_mac_db.py use dvr api def from neutron-lib 2017-11-13 10:27:16 -07:00
test_extraroute_db.py use service type constants from neutron_lib plugins 2017-06-27 15:16:05 -06:00
test_ipam_backend_mixin.py Switch to use _get_subnet_object() in ipam_backend_mixin module 2017-12-18 14:59:17 +01:00
test_ipam_pluggable_backend.py Update neutron files for new over-indentation hacking rule (E117) 2019-02-02 10:48:26 +00:00
test_l3_db.py Fixing the filter in get MTU by network list query. 2018-02-16 08:49:18 +00:00
test_l3_dvr_db.py Fix notification about arp entries for dvr routers 2019-02-15 16:03:41 +00:00
test_l3_hamode_db.py Update neutron files for new over-indentation hacking rule (E117) 2019-02-02 10:48:26 +00:00
test_migration.py Refactoring db config options 2017-10-04 15:42:50 -04:00
test_portsecurity_db.py use service type constants from neutron_lib plugins 2017-06-27 15:16:05 -06:00
test_portsecurity_db_common.py use neutron-lib port security api-def 2017-05-01 11:45:42 -06:00
test_provisioning_blocks.py test_provisioning_blocks: Network model to OVO 2017-12-29 14:58:35 +07:00
test_rbac_db_mixin.py tests: port test_port_presence_prevents_network_rbac_policy_deletion 2018-06-01 09:47:39 +00:00
test_securitygroups_db.py Fix performance regression adding rules to security groups 2019-02-01 21:11:27 -07:00
test_segments_db.py Change passing session to context in segments db functions 2016-12-23 16:47:41 +04:00
test_sqlalchemytypes.py Use oslo_db.sqlalchemy.test_fixtures 2018-07-24 10:19:16 +02:00
test_standard_attr.py Tag mechanism supports resources with standard attribute 2017-07-25 08:14:04 +09:00