Dead L3 agent should reflect HA router states

Bug #1461148 reported by Assaf Muller
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Low
Ann Taraday
Kilo
New
Undecided
Unassigned

Bug Description

The main use case of L3 HA is bouncing back from a machine (That is running a L3 agent) dying. In this case, with bp/report-ha-router-master merged, any active routers on that node will remain active in the Neutron DB (As the dead agent cannot update the server of anything). A backup node will pick up the routers previously active on the dead node and will update their status, resulting in the Neutron DB having the router 'active' on two different nodes. This can mess up l2pop as HA router interfaces will now be arbitrarily hosted on any of the 'active' hosts.

The solution would be that when a L3 agent is marked as dead, to go ahead and change the HA router states on that agent to from active to standby, and also to update the router ports 'host' value to point to the new active agent.

Note: This bug is at least partially coupled with https://bugs.launchpad.net/neutron/+bug/1365476. Ideally we could solve the two bugs in two separate patches with no dependencies.

sawangpong (sawangpongm)
Changed in neutron:
status: New → Invalid
status: Invalid → New
status: New → Confirmed
status: Confirmed → New
Revision history for this message
Ann Taraday (akamyshnikova) wrote :

@Mike

Are you actually working on this or I can look into?

Changed in neutron:
status: New → Triaged
Revision history for this message
Assaf Muller (amuller) wrote :

Changing priority to low. We fixed L3 HA's interaction with l2pop. The impact of this issue (I would hesitant to use the word bug here) is that the admin sees an 'active' router on an agent marked as dead, which can be confusing - There is no operational impact otherwise.

Changed in neutron:
importance: High → Low
Revision history for this message
Mike Kolesnik (mkolesni) wrote :

@Ann

Feel free to tackle this

Changed in neutron:
assignee: Mike Kolesnik (mkolesni) → nobody
Changed in neutron:
assignee: nobody → Ann Kamyshnikova (akamyshnikova)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/246952

Changed in neutron:
status: Triaged → In Progress
Assaf Muller (amuller)
summary: - Setting L3 agent status to "down" should update HA router states
+ Dead L3 agent should reflect HA router states
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit fc514b8e71d6ba7a1541ff925c63becf8834f6f5
Author: Ann Kamyshnikova <email address hidden>
Date: Wed Nov 18 17:03:12 2015 +0300

    Update HA router state if agent is not active

    If L3 agent is marked dead it is still show as 'active' in the HA
    router states on that agent. Current change adds check for such
    case and updates HA router state from 'active' to 'standby' if
    agent is dead.

    Closes-bug: #1461148

    Change-Id: Ie02e787a5b30cbe01694081cdec924304ab2ef41

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/271819

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/271820

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/liberty)

Reviewed: https://review.openstack.org/271819
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b908c5521e0b15a7e5f6eb65fa6d675d00f1e77a
Submitter: Jenkins
Branch: stable/liberty

commit b908c5521e0b15a7e5f6eb65fa6d675d00f1e77a
Author: Ann Kamyshnikova <email address hidden>
Date: Wed Nov 18 17:03:12 2015 +0300

    Update HA router state if agent is not active

    If L3 agent is marked dead it is still show as 'active' in the HA
    router states on that agent. Current change adds check for such
    case and updates HA router state from 'active' to 'standby' if
    agent is dead.

    Closes-bug: #1461148

    Change-Id: Ie02e787a5b30cbe01694081cdec924304ab2ef41
    (cherry picked from commit fc514b8e71d6ba7a1541ff925c63becf8834f6f5)

tags: added: in-stable-liberty
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/kilo)

Reviewed: https://review.openstack.org/271820
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=759918634628ce8fbed722ec08abef0bfc3649d6
Submitter: Jenkins
Branch: stable/kilo

commit 759918634628ce8fbed722ec08abef0bfc3649d6
Author: Ann Kamyshnikova <email address hidden>
Date: Wed Nov 18 17:03:12 2015 +0300

    Update HA router state if agent is not active

    If L3 agent is marked dead it is still show as 'active' in the HA
    router states on that agent. Current change adds check for such
    case and updates HA router state from 'active' to 'standby' if
    agent is dead.

    Closes-bug: #1461148

    Change-Id: Ie02e787a5b30cbe01694081cdec924304ab2ef41
    (cherry picked from commit fc514b8e71d6ba7a1541ff925c63becf8834f6f5)

tags: added: in-stable-kilo
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 2015.1.4

This issue was fixed in the openstack/neutron 2015.1.4 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

This issue was fixed in the openstack/neutron 2015.1.4 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.