[OVN] FIP on OVN Load balancer doesn't work if member has FIP assigned on DVR setup

Bug #1860662 reported by Maciej Jozefczyk
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Maciej Jozefczyk

Bug Description

[OVN] FIP on OVN Load balancer doesn't work if member has FIP assigned on DVR setup

For now we don't have solution for that. That needs further work in core-ovn side.

For now propose a workaround - centralize traffic of member FIP.

Tags: ovn
description: updated
Changed in neutron:
importance: Undecided → Medium
Changed in neutron:
assignee: nobody → Maciej Jozefczyk (maciej.jozefczyk)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/707633

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

Reviewed: https://review.opendev.org/707633
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e2ab1636b07cafe0552dcadc71244c17ac59c355
Submitter: Zuul
Branch: master

commit e2ab1636b07cafe0552dcadc71244c17ac59c355
Author: Maciej Józefczyk <email address hidden>
Date: Wed Jan 15 10:20:49 2020 +0000

    Centralize traffic when LB and member has FIP

    When Load Balancer and its member has FIP assigned
    and environment is configured to use DVR the member
    FIP needs to be centralized. It is current core OVN
    limitation, that should be solved in [1].

    This patch adds this mechanism to OVN Client and
    OVN Octavia provider driver.

    It covers cases:

    1) FIP association on port that is a member of
       some LB - make it centralized.
    2) FIP association on LB VIP - find a members
       FIPs and centralized them.
    3) Add a member to LB that has FIP already
       configured - checks if a member has FIP
       and centralize it.
    4) The reverse of each of the above cases.

    In addition I needed to extend OVN LB member external_id
    entry to add an information about member subnet_id
    in order to easly track member port from mechanism OVN
    driver.
    That means I needed also to support both old and new
    conventions. This patch adds also this code.

    Old convention:
    member_`member_id`_`ip_address`:`port`

    New convention:
    member_`member_id`_`ip_address`:`port`_`subnet_id`

    [1] https://bugzilla.redhat.com/show_bug.cgi?id=1793897

    (Cherry-picked from networking-ovn 57ac38921efa6bbf0bc4a22950355256cc3ebe6d)

    Related-Bug: #1860662

    Change-Id: I254f0ac28f7585b699a8238e01ffb37dd70282ef

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ovn-octavia-provider (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/708602

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ovn-octavia-provider (master)

Reviewed: https://review.opendev.org/708602
Committed: https://git.openstack.org/cgit/openstack/ovn-octavia-provider/commit/?id=17b1d9d5739498042f2398079241b99af16874f3
Submitter: Zuul
Branch: master

commit 17b1d9d5739498042f2398079241b99af16874f3
Author: Maciej Józefczyk <email address hidden>
Date: Wed Jan 15 10:20:49 2020 +0000

    Centralize traffic when LB and member has FIP

    When Load Balancer and its member has FIP assigned
    and environment is configured to use DVR the member
    FIP needs to be centralized. It is current core OVN
    limitation, that should be solved in [1].

    This patch adds this mechanism to OVN Client and
    OVN Octavia provider driver.

    It covers cases:

    1) FIP association on port that is a member of
       some LB - make it centralized.
    2) FIP association on LB VIP - find a members
       FIPs and centralized them.
    3) Add a member to LB that has FIP already
       configured - checks if a member has FIP
       and centralize it.
    4) The reverse of each of the above cases.

    In addition I needed to extend OVN LB member external_id
    entry to add an information about member subnet_id
    in order to easly track member port from mechanism OVN
    driver.
    That means I needed also to support both old and new
    conventions. This patch adds also this code.

    Old convention:
    member_`member_id`_`ip_address`:`port`

    New convention:
    member_`member_id`_`ip_address`:`port`_`subnet_id`

    [1] https://bugzilla.redhat.com/show_bug.cgi?id=1793897

    Related-Bug: #1860662

    Change-Id: I254f0ac28f7585b699a8238e01ffb37dd70282ef
    (cherry picked from networking-ovn commit 57ac38921efa6bbf0bc4a22950355256cc3ebe6d)

Changed in neutron:
status: New → Fix Released
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.