yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52921
[Bug 1593653] Re: DVR: cannot manually remove router from l3 agent
Reviewed: https://review.openstack.org/332102
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=64726983f2161b32e516f3f12007e5f5a3d57e50
Submitter: Jenkins
Branch: master
commit 64726983f2161b32e516f3f12007e5f5a3d57e50
Author: Hong Hui Xiao <xiaohhui@xxxxxxxxxx>
Date: Tue Jun 21 10:56:45 2016 +0000
Not auto schedule router when sync routers from agent
In this patch, auto schedule router will be removed from sync_routers,
so that the reported bug can be fixed. And potential race can be avoid
accoridng to [1]
The result of patch will make the l3 agent can't get the router info
when the router is not bound to the l3 agent. And router in agent will
be removed during the agent processing. This makes sense, since, in
neutron server, the router is not tied to the agent. For DVR, if there
are service port in the agent host, the router info will still be
returned to l3 agent.
[1] https://review.openstack.org/#/c/317949/
Change-Id: Id0a8cf7537fefd626df06064f915d2de7c1680c6
Co-Authored-By: John Schwarz <jschwarz@xxxxxxxxxx>
Closes-Bug: #1593653
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1593653
Title:
DVR: cannot manually remove router from l3 agent
Status in neutron:
Fix Released
Bug description:
This is a regression from this commit [1]. If there are dvr
serviceable ports on the node with agent, server now will notify agent
with router_updated rather than router_removed, however when updating
router, agent will request router_info and that's where server will
schedule router back to this l3 agent due to autoscheduling being
enabled.
[1]
https://review.openstack.org/#/q/c198710dc551bc0f79851a7801038b033088a8c2
The potential fix might be not scheduler router when agent request
router_info.
Now there are 2 code path that will auto schedule routers to agent.
The first one is get_router_ids, which will bind all un-scheduled
routers to the agent. This will happen at agent startup, revive, and
update.
The second one is sync_routers, which will bind the specified routers
to agent. This will happen when agent requires some router info.
Since 'router_id' was removed in bug 1594711, get_router_ids
will always be called at agent startup, revive, and update, which can
cover all the cases that auto schedule needs. And no need for other
code path.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1593653/+subscriptions
References