Public bug reported: 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): ** Affects: neutron Importance: Undecided Assignee: venkata anil (anil-venkata) Status: In Progress ** Tags: l2-pop l3-dvr-backlog l3-ha ** Changed in: neutron Assignee: (unassigned) => venkata anil (anil-venkata) ** Tags added: l3-dvr-backlog ** Tags added: l2-pop l3-ha -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1595043 Title: Make DVR portbinding implementation useful for HA ports Status in neutron: In Progress 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): To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1595043/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

