Make DVR portbinding implementation useful for HA ports

Bug #1595043 reported by venkata anil on 2016-06-22
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Medium
venkata anil

Bug Description

Make DVR portbinding implementation generic so that it will be useful for all distributed router ports(for example, HA router ports).

Currently HA interface port binding is implemented as a normal port binding i.e it uses only ml2_port_bindings table, with host set to master host. When a new host becomes master, this binding will be updated. But this approach has issues as explained in https://bugs.launchpad.net/neutron/+bug/1522980

As HA router ports(DEVICE_OWNER_HA_REPLICATED_INT, DEVICE_OWNER_ROUTER_SNAT for DVR+HA) are distributed ports like DVR, we will follow DVR approach of port binding for HA router ports.
So we make DVR port binding generic, so that it can be used for all distributed router ports.

To make DVR port binding generic for all distributed router ports, we need to
1) rename ml2_dvr_port_bindings table to ml2_distributed_port_bindings
2) rename functions updating/accessing this table
3) Replace 'if condition' for dvr port with distributed port, for example, replace
   if port['device_owner'] == const.DEVICE_OWNER_DVR_INTERFACE:
          with
   if distributed_router_port(port):

Changed in neutron:
assignee: nobody → venkata anil (anil-venkata)
tags: added: l3-dvr-backlog
tags: added: l2-pop l3-ha
Changed in neutron:
status: New → In Progress
Changed in neutron:
importance: Undecided → Medium

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

commit 77bfd82c3cf766724b12629cf23902a1758fe94a
Author: venkata anil <email address hidden>
Date: Wed Jun 1 15:42:38 2016 +0000

    Rename ml2_dvr_port_bindings to make it generic

    Distributed port binding need to be implemented for HA router ports
    to fix bug 1522980. HA ports can use existing DVR implementation for
    multiple port binding. So we have to make current DVR port binding
    implementation generic, so that all distributed ports(like DVR, HA)
    can use it.

    As part of making it generic, we rename 'ml2_dvr_port_bindings' table
    to 'ml2_distributed_port_bindings', so that all distributed ports
    (DVR, HA ..) can use this table.

    Partial-Bug: #1595043
    Partial-Bug: #1522980
    Change-Id: I24650b7dee6305f801b457c4f21c8b16fb0eb6e0

tags: added: neutron-proactive-backport-potential
Brian Haley (brian-haley) wrote :

I'm not sure this is backport potential since there's a DB migration involved.

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

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

commit 89cd4d07d173d54f05aee1524a6376226ac1bd80
Author: venkata anil <email address hidden>
Date: Sat Jul 9 08:20:03 2016 +0000

    Rename dvr portbinding functions

    As part of making DVR portbinding implementation generic, we rename
    dvr portbinding functions as distributed portbinding functions.
    In next patch we make dvr logic for port binding generic,
    to be useful for all distributed router ports(for example, HA).

    Partial-Bug: #1595043
    Partial-Bug: #1522980
    Change-Id: I402df76c64299156d4ed48ac92ede1e8e9f28f23

Change abandoned by venkata anil (<email address hidden>) on branch: master
Review: https://review.openstack.org/340031
Reason: Preferring patch 255237 over this as backporting alembic migration may not be allowed

Change abandoned by venkata anil (<email address hidden>) on branch: master
Review: https://review.openstack.org/324302
Reason: Preferring patch 255237 over this as backporting alembic migration may not be allowed

I think this bug can be closed, since an alternate patch landed upstream. @anilvenkata please let me know if you still need this bug to be addressed.

tags: removed: neutron-proactive-backport-potential
Changed in neutron:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers