← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1723848] Re: Restarting l3 agent not spawning keepalived

 

Reviewed:  https://review.openstack.org/512179
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=4f9a6a8b7661c3792101580d14d401e8426bf72a
Submitter: Zuul
Branch:    master

commit 4f9a6a8b7661c3792101580d14d401e8426bf72a
Author: venkata anil <anilvenkata@xxxxxxxxxx>
Date:   Mon Oct 16 06:03:35 2017 +0000

    Notify port_update to agent for status change
    
    Notify agents about port update when "port_update" is called to update
    port's status change. L3 agent will spawn keepalived only when HA
    network port status is ACTIVE. When L3 agent is restarted, it sets HA
    network port status to DOWN (through "port_update"), with the assumption
    that L2 agent will again rewire the port (set status to ACTIVE) allowing
    L3 agent to spawn keepalived. As server is not notifying L2 agent, port
    is remaining in DOWN status and L3 agent was never spawning keepalived
    on L3 agent restart(if keepalived is killed).
    
    Closes-Bug: 1723848
    Change-Id: I629eeff905bf02ec5f7ee68cccc7c19f1b47d5aa


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

Title:
  Restarting l3 agent not spawning keepalived

Status in neutron:
  Fix Released

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.

  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.

  [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


References