DVR lost centralized floating ip when the ha state switched.

Bug #1736068 reported by sunzuohua
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
High
sunzuohua

Bug Description

Reproduction steps:
The l3 agent mode is as follows:
    Network:dvr_snat
    Compute:dvr_no_external
1、Create a DVR(HA). Then add interface and gateway to the DVR.
2、Create a vm and associate a floating ip to the vm.
3、Check the keepalived.conf and snat ns on the master and backup network nodes for the DVR.
4、The floating ip can be found in the keepalived.conf on the master network node but not in the keepalived.conf on the backup network node for the DVR .On the master network node for the DVR , the floating ip is found normal in the snat ns.
5.Swith the ha state of the DVR, Check the keepalived.conf and snat ns on the current master network node for the DVR.
6.The floating ip still can not be found in the keepalived.conf on the current master network node. And on the current master network node for the DVR , the floating ip is not found in the snat ns.

Mybe the check for the router ha state[1] should be moved just before [2].

[1]https://github.com/openstack/neutron/blob/master/neutron/agent/l3/dvr_edge_ha_router.py#L61
[2]https://github.com/openstack/neutron/blob/master/neutron/agent/l3/dvr_edge_ha_router.py#L65

Revision history for this message
Swaminathan Vasudevan (swaminathan-vasudevan) wrote :

So when the check for the router ha state[1] moved to [2] is that working as designed? Meanwhile I will take a look at it.

Changed in neutron:
importance: Undecided → High
tags: added: l3-dvr-backlog
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/525842

Changed in neutron:
assignee: nobody → sunzuohua (zuohuasun)
status: New → In Progress
Changed in neutron:
assignee: sunzuohua (zuohuasun) → Swaminathan Vasudevan (swaminathan-vasudevan)
Changed in neutron:
assignee: Swaminathan Vasudevan (swaminathan-vasudevan) → sunzuohua (zuohuasun)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/525842
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2200b1c3697a478af9f25a20ce09564bc2c9a968
Submitter: Zuul
Branch: master

commit 2200b1c3697a478af9f25a20ce09564bc2c9a968
Author: zhsun <email address hidden>
Date: Wed Dec 6 08:53:55 2017 +0800

    Add/rm centralized fips for DVR+HA from standby node

    For DVR+HA:
    When adding/removing a centralized fip, just add/remove it to/from
    keepalived instance and do not check if it is a master router.

    When adding a centralized fip, it is still needed to invoke method
    of supperclass to configure nat rules on master node.

    When removing a centralized fip, it is still needed to invoke method
    of supperclass to clean contrack on master node.

    Change-Id: I202db59acb7fb0b7924748cf7def2879a748e56a
    Closes-Bug: #1736068

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

This issue was fixed in the openstack/neutron 13.0.0.0b1 development milestone.

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

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/575689

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

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/575690

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

Reviewed: https://review.openstack.org/575690
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=5e967131eec7035a019adaa93284f16830faf510
Submitter: Zuul
Branch: stable/pike

commit 5e967131eec7035a019adaa93284f16830faf510
Author: zhsun <email address hidden>
Date: Wed Dec 6 08:53:55 2017 +0800

    Add/rm centralized fips for DVR+HA from standby node

    For DVR+HA:
    When adding/removing a centralized fip, just add/remove it to/from
    keepalived instance and do not check if it is a master router.

    When adding a centralized fip, it is still needed to invoke method
    of supperclass to configure nat rules on master node.

    When removing a centralized fip, it is still needed to invoke method
    of supperclass to clean contrack on master node.

    Change-Id: I202db59acb7fb0b7924748cf7def2879a748e56a
    Closes-Bug: #1736068
    (cherry picked from commit 2200b1c3697a478af9f25a20ce09564bc2c9a968)

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

Reviewed: https://review.openstack.org/575689
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e3d11d45cfeba2ac4e3bcef2508522e599a0c494
Submitter: Zuul
Branch: stable/queens

commit e3d11d45cfeba2ac4e3bcef2508522e599a0c494
Author: zhsun <email address hidden>
Date: Wed Dec 6 08:53:55 2017 +0800

    Add/rm centralized fips for DVR+HA from standby node

    For DVR+HA:
    When adding/removing a centralized fip, just add/remove it to/from
    keepalived instance and do not check if it is a master router.

    When adding a centralized fip, it is still needed to invoke method
    of supperclass to configure nat rules on master node.

    When removing a centralized fip, it is still needed to invoke method
    of supperclass to clean contrack on master node.

    Change-Id: I202db59acb7fb0b7924748cf7def2879a748e56a
    Closes-Bug: #1736068
    (cherry picked from commit 2200b1c3697a478af9f25a20ce09564bc2c9a968)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 12.0.4

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 11.0.6

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

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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