]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Ensure l3 agent receives notification about added router
authorOleg Bondarev <obondarev@mirantis.com>
Fri, 7 Aug 2015 12:44:29 +0000 (15:44 +0300)
committerOleg Bondarev <obondarev@mirantis.com>
Fri, 23 Oct 2015 09:08:31 +0000 (12:08 +0300)
commit30b121dfa4d8542665b2209d21ece805d8957aa5
tree40daa27c9fd5ecc8567ad008a3a211de356b743f
parent7a9e8175c9bd868369403fe8ecabdd791465d5bb
Ensure l3 agent receives notification about added router

Currently router_added (and other) notifications are sent
to agents with an RPC cast() method which does not ensure that
the message is actually delivered to the recipient.
If the message is lost (due to instability of messaging system
in some failover scenarios for example) neither server nor agent
will be aware of that and router will be "lost" till next agent
resync. Resync will only happen in case of errors on agent side
or restart.
The fix makes server use call() to notify agents about added routers
thus ensuring no routers will be lost.

This also unifies reschedule_router() method to avoid code duplication
between legacy and dvr agent schedulers.

Closes-Bug: #1482630
Related-Bug #1404743
Change-Id: Id08764ba837d8f47a28649d081a5876797fe369e
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py
neutron/db/l3_agentschedulers_db.py
neutron/db/l3_dvrscheduler_db.py
neutron/tests/unit/db/test_agentschedulers_db.py
neutron/tests/unit/scheduler/test_l3_agent_scheduler.py