neutron/neutron
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
..
agent Merge "Use revision to discard stale DHCP updates" 2016-09-02 02:51:42 +00:00
api Merge "Add the l3 agent 'host' when logging routers" 2016-09-02 00:09:33 +00:00
callbacks Fix deprecation warnings 2016-08-26 22:16:06 -04:00
cmd Merge "Adding support of releasing DHCPv6 leases" 2016-09-01 07:33:35 +00:00
common Merge "debtcollector for globals" 2016-08-31 10:35:55 +00:00
conf Fix ipam_driver config help 2016-08-29 16:27:53 +00:00
core_extensions Respond negatively to tenant detachment of enforced QoS policies 2016-05-16 21:54:15 +00:00
db Add binding_index to RouterL3AgentBinding 2016-09-02 11:17:47 +00:00
debug Replace device owners hard coded strings to neutron_lib constants 2016-07-12 04:11:35 -04:00
extensions Merge "Add name and desc to networksegments table" 2016-09-02 02:46:33 +00:00
hacking Fix check_asserttruefalse syntax validator 2016-08-11 13:49:47 +00:00
ipam Switch to neutron-lib for model_base 2016-08-31 11:12:18 -04:00
locale Imported Translations from Zanata 2016-08-19 07:27:43 +00:00
notifiers Fix deprecation warnings 2016-08-26 22:16:06 -04:00
objects Add name and desc to networksegments table 2016-09-01 09:41:09 -06:00
pecan_wsgi Merge "Pecan: Handle member actions" 2016-08-30 13:00:38 +00:00
plugins Merge "Implement check_vlan_transparency to return True in SR-IOV mech driver" 2016-09-01 17:57:55 +00:00
quota Use db_api.retry_db_errors in quota engine 2016-07-18 22:48:19 -06:00
scheduler Add binding_index to RouterL3AgentBinding 2016-09-02 11:17:47 +00:00
server Revert "Revert "Remove threading before process forking"" 2016-06-02 21:26:08 +00:00
services Add name and desc to networksegments table 2016-09-01 09:41:09 -06:00
tests Add binding_index to RouterL3AgentBinding 2016-09-02 11:17:47 +00:00
__init__.py Hacking rule to check i18n usage 2016-03-30 21:28:37 -04:00
_i18n.py Move i18n to _i18n, as per oslo_i18n guidelines 2015-12-01 19:29:10 -07:00
auth.py Consume ConfigurableMiddleware from oslo_middleware 2015-10-08 17:59:43 +00:00
context.py Use context from_environ to load contexts 2016-07-12 13:49:41 +10:00
manager.py Pecan: bind attribute map to controllers 2016-05-26 06:13:53 +00:00
neutron_plugin_base_v2.py Revert "Revert "Remove threading before process forking"" 2016-06-02 21:26:08 +00:00
opts.py Include [agent] extensions option into ovs/linuxbridge agent files 2016-08-24 16:41:03 +00:00
policy.py Fix deprecation warnings 2016-08-26 22:16:06 -04:00
service.py Merge "Use dispose_pool() from oslo.db" 2016-08-26 22:03:41 +00:00
version.py
worker.py Remove notification for process event 2016-06-28 11:49:31 -07:00
wsgi.py Merge "Use dispose_pool() from oslo.db" 2016-08-26 22:03:41 +00:00