Reviewed:  https://review.openstack.org/336791
Committed: 
https://git.openstack.org/cgit/openstack/neutron/commit/?id=9f30df85fe78d830331a43fa29fc2d83708c861d
Submitter: Jenkins
Branch:    master

commit 9f30df85fe78d830331a43fa29fc2d83708c861d
Author: tianquan <[email protected]>
Date:   Sat Jul 2 20:13:13 2016 +0800

    Check compatibility when auto schedule ha routers
    
    When l3 agents do fullsync, the server configured router_auto_schedule
    will schedule ha routers whose l3 agent count don't reach
    max_l3_agents_per_router to the agent. Need to check compatibility
    before binding.
    
    Change-Id: Ie9869eae2bd01c19da5820b4e7ecb7cba7b5692a
    Closes-Bug: 1598422


** 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/1598422

Title:
  HA router is scheduled to imcompatible l3 agent

Status in neutron:
  Fix Released

Bug description:
  When router_auto_schedule is configured to true and l3 agent count of ha 
router don't reach max_l3_agents_per_router, auto_schedule_routers will 
schedule ha router to imcompatible l3 agent.
  This issue is because of that L3Scheduler don't check if l3 agent is 
compatible with the scheduling router like what it did in 
get_l3_agent_candidates. see 
https://github.com/openstack/neutron/blob/master/neutron/scheduler/l3_agent_scheduler.py#L313.
 

  How to reproduce:
  Scenario 1
  - legacy mode, three network nodes: host_1, host_2, host_3. Configure host_3 
with handle_internal_only_routers = false.
  - create a ha router router-A, ensure that router-A is only hosted by host_1 
and host_2.
  - restart l3 agent on host_3, then router-A is hosted by three agents, 
including agent on host_3.

  Scenario 2
  - dvr mode, two network nodes: host_1 and host_2 are configured to dvr_snat, 
one compute node: host_3 is configured to dvr.
  - create a ha router router-A, ensure that router-A is only hosted by host_1 
and host_2.
  - restart l3 agent on host_3, then router-A is hosted by three agents, 
including agent on host_3.

  Expected behavior:
  - auto_schedule_routers() and schedule() in L3Scheduler should choose 
candidates with consistent standards. ha router shouldn't be scheduled to 
imcompatible agent after auto_schedule_routers.

  Affected versions:
  - I saw this issue in Kilo, and reproduced it in master branch. I guess 
liberty and mitaka are affected also.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1598422/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to