neutron/neutron/db
Slawek Kaplonski 93d9d6bbba Ensure there is always at most 1 dvr fip gw port per agent and network
In patch [1] there was introduced simple lock for creation of
DVR agent's floating IP gateway ports for network to avoid races
and creation of duplicated ports for one agent and one network.

This fix from [1] works in simple examples with only one neutron-server,
so it helped e.g. in CI but it wasn't proper fix for production
deployments which are much bigger and have more neutron server api
workers.

So this patch introduces constraint on database level so this works even
across cluster with multiple neutron-server api workers.

[1] https://review.opendev.org/#/c/673331/

Change-Id: Id55b8a21d6ecf5e029d1ca267b2cbd2ed91cca4c
Closes-Bug: #1830763
2020-02-07 08:32:33 +00:00
..
allowed_address_pairs Clean up deprecated sqla model import paths 2017-02-25 03:42:34 +00:00
availability_zone remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
extra_dhcp_opt Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
metering Start enforcing E125 flake8 directive 2019-07-19 23:39:41 -04:00
migration Ensure there is always at most 1 dvr fip gw port per agent and network 2020-02-07 08:32:33 +00:00
models Ensure there is always at most 1 dvr fip gw port per agent and network 2020-02-07 08:32:33 +00:00
network_dhcp_agent_binding Move migration to proper dir and fix objects tests 2019-11-04 17:44:44 +00:00
port_security Cleanup _find_related_obj 2017-02-25 06:29:33 +00:00
qos Refactor qos_plugin._extend_port_resource_request 2019-07-05 08:10:01 +00:00
quota Start enforcing E125 flake8 directive 2019-07-19 23:39:41 -04:00
__init__.py Update License Headers to replace Nicira with VMware 2014-02-27 08:11:15 +00:00
_utils.py Switch DB _utils to new engine facade 2019-05-28 18:35:13 -05:00
address_scope_db.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
agents_db.py Add default value to agent create_or_update_agent new param 2019-06-25 14:13:10 +00:00
agentschedulers_db.py Dont schedule Network, respecting network_auto_schedule config 2019-11-26 01:55:03 +00:00
allowedaddresspairs_db.py use AuthenticIPNetwork and AuthenticEUI from neutron-lib 2019-06-25 08:47:48 -06:00
data_plane_status_db.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
db_base_plugin_common.py Switch to reader context 2020-01-07 20:24:14 -05:00
db_base_plugin_v2.py Merge "Initialize nova_notifier for only port data changes" 2020-01-18 06:59:21 +00:00
dns_db.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
dvr_mac_db.py Optimize DVR related port DB query 2019-08-25 01:24:03 +08:00
external_net_db.py Start enforcing E125 flake8 directive 2019-07-19 23:39:41 -04:00
extradhcpopt_db.py Utilize bulk port creation ops in ml2 plugin 2019-03-21 11:31:36 +00:00
extraroute_db.py Implement extension: extraroute-atomic 2019-09-11 13:58:47 +02:00
flavors_db.py delete common_db_mixin 2019-04-17 11:25:41 -06:00
ipam_backend_mixin.py Subnet gateway should be a valid IP 2019-12-23 10:13:23 +00:00
ipam_pluggable_backend.py Serialize subnet creating depending on the network ID 2019-12-02 17:19:03 +00:00
l3_agentschedulers_db.py Remove 'gateway_external_network_id' config option 2019-07-26 13:19:14 +02:00
l3_attrs_db.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
l3_db.py Remove Floating IP DNS record upon associated port deletion 2019-10-28 09:26:20 +00:00
l3_dvr_db.py Ensure there is always at most 1 dvr fip gw port per agent and network 2020-02-07 08:32:33 +00:00
l3_dvr_ha_scheduler_db.py Fix connection between 2 dvr routers 2018-11-01 18:01:25 +01:00
l3_dvrscheduler_db.py DVR: Remove control plane arp updates for DVR 2020-01-29 12:02:08 +00:00
l3_fip_pools_db.py Introduce floating IP pool resource 2018-10-04 15:53:53 +00:00
l3_fip_port_details.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
l3_fip_qos.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
l3_gateway_ip_qos.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
l3_gwmode_db.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
l3_hamode_db.py Switch to new engine facade for L3_HA_NAT_db_mixin 2019-06-05 11:39:44 +00:00
l3_hascheduler_db.py Fix all pep8 E129 errors 2018-05-03 13:44:04 +09:00
models_v2.py Serialize subnet creating depending on the network ID 2019-12-02 17:19:03 +00:00
network_ip_availability_db.py use context manager from neutron-lib 2018-10-24 07:18:46 -06:00
ovn_hash_ring_db.py [OVN] Add hash ring methods 2019-12-03 08:53:45 +00:00
ovn_revision_numbers_db.py [OVN] Import OVN Client, L3 and QoS related code 2019-12-14 19:17:40 +00:00
portbindings_base.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
portbindings_db.py remove the neutron.db._model_query module 2019-01-25 08:55:25 -07:00
portsecurity_db.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
portsecurity_db_common.py Start enforcing E125 flake8 directive 2019-07-19 23:39:41 -04:00
provisioning_blocks.py use callback payloads for PROVISIONING_COMPLETE 2019-07-31 09:18:14 -06:00
rbac_db_mixin.py rbac: Catch correct exception for duplicated entry 2019-06-06 19:23:17 +00:00
rbac_db_models.py Allow sharing of security groups via RBAC mechanism 2019-03-09 17:30:14 -06:00
securitygroups_db.py Check "security_group_rule" quota during security group creation 2020-01-28 12:02:52 +00:00
securitygroups_rpc_base.py use retry_if_session_inactive from neutron-lib 2018-10-12 14:47:35 -06:00
segments_db.py Change provider network segmentation ID 2019-04-01 12:55:50 +00:00
servicetype_db.py Switch to new engine facade for ExtraRoute_dbonly_mixin 2019-06-28 10:30:56 +00:00
standard_attr.py shim standard_attr db for neutron-lib 2019-07-23 14:17:29 -06:00
standardattrdescription_db.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
subnet_service_type_mixin.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00
uplink_status_propagation_db.py Fix pep8 E128 warnings in non-test code 2019-03-12 21:22:33 +00:00
vlantransparent_db.py remove the neutron.db._resource_extend module 2019-01-02 13:02:06 -07:00