![]() 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 |
||
---|---|---|
.. | ||
common | ||
contrib | ||
etc | ||
fullstack | ||
functional | ||
retargetable | ||
tempest | ||
unit | ||
var | ||
__init__.py | ||
base.py | ||
fake_notifier.py | ||
post_mortem_debug.py | ||
tools.py |