← Back to team overview

yahoo-eng-team team mailing list archive

[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