neutron/neutron/db
John Schwarz b1ec8d523d Add binding_index to RouterL3AgentBinding
The patch proposes adding a new binding_index to the
RouterL3AgentBinding table, with an additional Unique Constraint that
enforces a single <router_id, binding_id> per router. This goes a long
way into fixing 2 issues:

1. When scheduling a non-HA router, we only use binding_index=1. This
   means that only a single row containing that router_id can be
   committed into the database. This in fact prevents over-scheduling of
   non-HA routers. Note that for the HA router case, the binding_index
   is simply copied from the L3HARouterAgentPortBinding (since they are
   always created together they should always match).

2. This sets the ground-work for a refactor of the l3 scheduler - by
   using this binding and db-based limitation, we can schedule a router
   to agents using the RouterL3AgentBinding, while postponing the
   creation of L3HARouterAgentPortBinding objects for the agents until
   they ask for it (using sync_routers). This will be a major
   improvement over todays "everything can create
   L3HARouterAgentPortBinding" way of things).

Closes-Bug: #1535557
Change-Id: I3447ea5bcb7c57365c6f50efe12a1671e86588b3
2016-09-02 11:17:47 +00:00
..
allowed_address_pairs debtcollector for globals 2016-08-30 10:18:19 -04:00
availability_zone Trival: Remove unused logging import 2015-12-26 12:49:56 +08:00
extra_dhcp_opt Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
metering Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
migration Add binding_index to RouterL3AgentBinding 2016-09-02 11:17:47 +00:00
models Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
network_dhcp_agent_binding Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
port_security Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
qos Merge "Switch to neutron-lib for model_base" 2016-09-01 07:47:30 +00:00
quota Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
__init__.py Update License Headers to replace Nicira with VMware 2014-02-27 08:11:15 +00:00
address_scope_db.py debtcollector for globals 2016-08-30 10:18:19 -04:00
agents_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
agentschedulers_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
allowedaddresspairs_db.py Integrate the port allowed address pairs VersionedObject in Neutron 2016-05-20 15:18:22 +02:00
api.py Fix deprecation warnings 2016-08-26 22:16:06 -04:00
common_db_mixin.py Use paginate_query from oslo_db 2016-04-27 03:12:24 +00:00
db_base_plugin_common.py Refactor DNS integration out of DB core plugin 2016-07-26 07:33:50 +00:00
db_base_plugin_v2.py Remove non-pluggable IPAM implementation 2016-08-30 17:57:43 -06:00
dns_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
dvr_mac_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
external_net_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
extradhcpopt_db.py Integrate the Extra Dhcp Opt VersionedObject in Neutron 2016-04-07 16:44:33 +01:00
extraroute_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
flavors_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
ipam_backend_mixin.py IPAM: fix the mode of ipam_backend_mixin.py 2016-08-29 23:14:06 -07:00
ipam_pluggable_backend.py IP allocation with Service Subnets 2016-08-24 20:03:22 +01:00
l3_agentschedulers_db.py Add binding_index to RouterL3AgentBinding 2016-09-02 11:17:47 +00:00
l3_attrs_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
l3_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
l3_dvr_db.py Merge "models: move AllowedAddressPair model under neutron/db/models" 2016-08-13 01:59:55 +00:00
l3_dvr_ha_scheduler_db.py Remove unused LOG 2016-07-05 15:22:13 +08:00
l3_dvrscheduler_db.py Neutron-lib: use the L3_AGENT* definitions from neutron-lib 2016-08-01 06:50:11 -07:00
l3_gwmode_db.py Trival: Remove unused logging import 2015-12-26 12:49:56 +08:00
l3_hamode_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
l3_hascheduler_db.py Check for ha port to become ACTIVE 2016-08-29 19:31:22 +03:00
model_base.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
models_v2.py Merge "Switch to neutron-lib for model_base" 2016-09-01 07:47:30 +00:00
netmtu_db.py Calculate MTU on every network fetch instead of on create 2016-07-20 13:26:50 +02:00
network_ip_availability_db.py IP Availability: remove unused imports 2016-03-01 07:06:10 -08:00
portbindings_base.py Remove @author(s) from copyright statements 2014-09-15 21:40:09 +09:00
portbindings_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
portsecurity_db.py Use converters and validators from neutron-lib 2016-04-24 19:13:10 -04:00
portsecurity_db_common.py objects: introduce NetworkPortSecurity object 2016-06-27 18:35:47 +02:00
provisioning_blocks.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
quota_db.py Create packages for quota modules 2015-07-28 11:55:01 -07:00
rbac_db_mixin.py Use exceptions from neutron-lib 2016-04-21 21:29:44 -04:00
rbac_db_models.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
securitygroups_db.py debtcollector for globals 2016-08-30 10:18:19 -04:00
securitygroups_rpc_base.py Use method get_ipv6_addr_by_EUI64 from oslo.utils 2016-08-30 19:49:09 +08:00
segments_db.py Add name and desc to networksegments table 2016-09-01 09:41:09 -06:00
servicetype_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
sqlalchemytypes.py Truncate microseconds before DB insertion 2016-09-01 13:25:24 +00:00
sqlalchemyutils.py Use paginate_query from oslo_db 2016-04-27 03:12:24 +00:00
standard_attr.py Truncate microseconds before DB insertion 2016-09-01 13:25:24 +00:00
standardattrdescription_db.py Add a description field to all standard resources 2016-03-05 02:29:35 +00:00
subnet_service_type_db_models.py debtcollector for globals 2016-08-30 10:18:19 -04:00
tag_db.py Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
vlantransparent_db.py Moving VLAN Transparency support from core to extension 2015-04-08 08:35:13 -07:00