FIP failed to remove in router's standby node

Bug #1641535 reported by Dongcan Ye
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
Dongcan Ye

Bug Description

ENV
====================
1. Server side:
   enable router_distributed and l3_ha

2. Agent side:
   all L3 agent mode is dvr_snat (include network nodes and compute nodes)

How to reprocude:
=================
associate floatingip --> disassociate floatingip --> reassociate floatingip

We hit trace info in l3 agent:
http://paste.openstack.org/show/589071/

Analysis
==========
When we processing floatingip (In the situation router's attribute is ha + dvr), in ha_router we only remove floatingip if ha state is 'master'[1], and in dvr_local_router we remove it's related IP rule.
Then we reassociate floatingip, it will hit RTNETLINK error. Because we had already delete the realted IP rule.

[1] https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha_router.py#L273

Dongcan Ye (hellochosen)
Changed in neutron:
assignee: nobody → Dongcan Ye (hellochosen)
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/397092

Changed in neutron:
status: New → In Progress
Changed in neutron:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit b45fd35e3f4a2aaacc7a22faafd00b7350e4f398
Author: Dongcan Ye <email address hidden>
Date: Mon Nov 14 17:35:20 2016 +0800

    Remove floatingip address ignores ha_state

    We both enables router_distributed and l3_ha in server side,
    and configures L3 agent node as dvr_snat in compute nodes.
    HA router removing floatingip address only in master node,
    and dvr local router only remove FIP rule. This will cause
    RTNETLINK error if we operates floatingip "associate --> disassociate
    --> reassociate".

    This patch removes floatingip address whether router's ha_state
    is master or backup.
    Another solution is adding remove_floating_ip in dvr_edge_router.

    Change-Id: I2fab45cff786c475d69c5f0cf4e9b71e6bbbe653
    Closes-Bug: #1641535

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 10.0.0.0b2

This issue was fixed in the openstack/neutron 10.0.0.0b2 development milestone.

tags: added: neutron-proactive-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/444340

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

Reviewed: https://review.openstack.org/444340
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=97e51efb20f512093f172ed75a4799e6d535a5ff
Submitter: Jenkins
Branch: stable/newton

commit 97e51efb20f512093f172ed75a4799e6d535a5ff
Author: Dongcan Ye <email address hidden>
Date: Mon Nov 14 17:35:20 2016 +0800

    Remove floatingip address ignores ha_state

    We both enables router_distributed and l3_ha in server side,
    and configures L3 agent node as dvr_snat in compute nodes.
    HA router removing floatingip address only in master node,
    and dvr local router only remove FIP rule. This will cause
    RTNETLINK error if we operates floatingip "associate --> disassociate
    --> reassociate".

    This patch removes floatingip address whether router's ha_state
    is master or backup.
    Another solution is adding remove_floating_ip in dvr_edge_router.

    Conflicts:
     neutron/tests/unit/agent/l3/test_ha_router.py

    Change-Id: I2fab45cff786c475d69c5f0cf4e9b71e6bbbe653
    Closes-Bug: #1641535
    (cherry picked from commit b45fd35e3f4a2aaacc7a22faafd00b7350e4f398)

tags: added: in-stable-newton
tags: removed: neutron-proactive-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 9.3.0

This issue was fixed in the openstack/neutron 9.3.0 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.