← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1825787] [NEW] [L3][HA] agent HA router count should not include dvr local router

 

Public bug reported:

If dvr local router was processed in one l3 agent because it is required
by other functionality. For instance, DHCP agent for one network will
trigger L3 agent hosting the dvr_local router to it. If the agent mode
is `dvr_snat`, this dvr router will be counted to the HA router list.
This is not correct for l3 agent  [1] during the restart. Then the HA
router related process count can not match the HA router list. The HA
port `DOWN` action will be triggered unnecessarily. The issue is because
function _get_router_ids_for_agent [2] is overrided by [3] in for dvr.
Such dvr local router will be counted to the router ids list.

[1] https://github.com/openstack/neutron/blob/master/neutron/agent/l3/agent.py#L246
[2] https://github.com/openstack/neutron/blob/master/neutron/db/l3_agentschedulers_db.py#L323
[3] https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L401

** Affects: neutron
     Importance: Undecided
     Assignee: LIU Yulong (dragon889)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => LIU Yulong (dragon889)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1825787

Title:
  [L3][HA] agent HA router count should not include dvr local router

Status in neutron:
  New

Bug description:
  If dvr local router was processed in one l3 agent because it is
  required by other functionality. For instance, DHCP agent for one
  network will trigger L3 agent hosting the dvr_local router to it. If
  the agent mode is `dvr_snat`, this dvr router will be counted to the
  HA router list. This is not correct for l3 agent  [1] during the
  restart. Then the HA router related process count can not match the HA
  router list. The HA port `DOWN` action will be triggered
  unnecessarily. The issue is because function _get_router_ids_for_agent
  [2] is overrided by [3] in for dvr. Such dvr local router will be
  counted to the router ids list.

  [1] https://github.com/openstack/neutron/blob/master/neutron/agent/l3/agent.py#L246
  [2] https://github.com/openstack/neutron/blob/master/neutron/db/l3_agentschedulers_db.py#L323
  [3] https://github.com/openstack/neutron/blob/master/neutron/db/l3_dvrscheduler_db.py#L401

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


Follow ups