← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1723848] [NEW] Restarting l3 agent not spawning keepalived

 

Public bug reported:

When a keepalived is killed manually and then l3 agent is restarted, l3
agent is not spawning keepalived.

When l3 agent is restarted, it sets HA network port status to DOWN
because of [1] with the assumption that

1) server will notify port update to l2 agent and
2) then l2 agent will rewire the port and set status to ACTIVE. 
3) when port status is set to ACTIVE, server will notify l3 agent
4) when port status is ACTIVE, l3 agent will spawn keepalived

But in newton code base, I see step 1 not happening (i.e server
notifying port update to l2 agent) because of that next steps also not
happening and keepalived is never respawned.

But in upstream master code base, step 1 is happening because of OVO,
and then all next steps, resulting in spawning keepalived.

Before submitting [1] I posted [2] in mail thread regarding status
update notification to l2 agent. Kevin's suggestion was working on u/s
master (because of OVO) but not on stable branches. So as a generic fix,
server has to notify l2 agent when port_update('status') is called.

[1] https://code.engineering.redhat.com/gerrit/#/c/108938/
[2] http://lists.openstack.org/pipermail/openstack-dev/2017-May/117557.html

** Affects: neutron
     Importance: Undecided
     Assignee: venkata anil (anil-venkata)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => venkata anil (anil-venkata)

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

Title:
  Restarting l3 agent not spawning keepalived

Status in neutron:
  New

Bug description:
  When a keepalived is killed manually and then l3 agent is restarted,
  l3 agent is not spawning keepalived.

  When l3 agent is restarted, it sets HA network port status to DOWN
  because of [1] with the assumption that

  1) server will notify port update to l2 agent and
  2) then l2 agent will rewire the port and set status to ACTIVE. 
  3) when port status is set to ACTIVE, server will notify l3 agent
  4) when port status is ACTIVE, l3 agent will spawn keepalived

  But in newton code base, I see step 1 not happening (i.e server
  notifying port update to l2 agent) because of that next steps also not
  happening and keepalived is never respawned.

  But in upstream master code base, step 1 is happening because of OVO,
  and then all next steps, resulting in spawning keepalived.

  Before submitting [1] I posted [2] in mail thread regarding status
  update notification to l2 agent. Kevin's suggestion was working on u/s
  master (because of OVO) but not on stable branches. So as a generic
  fix, server has to notify l2 agent when port_update('status') is
  called.

  [1] https://code.engineering.redhat.com/gerrit/#/c/108938/
  [2] http://lists.openstack.org/pipermail/openstack-dev/2017-May/117557.html

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


Follow ups