b1ec8d523d
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 |
||
---|---|---|
.. | ||
alembic_migrations | ||
models | ||
README | ||
__init__.py | ||
alembic.ini | ||
autogen.py | ||
cli.py | ||
connection.py |
README
See doc/source/devref/alembic_migrations.rst Rendered at http://docs.openstack.org/developer/neutron/devref/alembic_migrations.html