Bug 1835140

Summary: [OVN][LB] Load Balancer is not using load balancing algorithm source-ip-port
Product: Red Hat OpenStack Reporter: Maciej Józefczyk <mjozefcz>
Component: python-networking-ovnAssignee: Maciej Józefczyk <mjozefcz>
Status: CLOSED ERRATA QA Contact: Eran Kuris <ekuris>
Severity: medium Docs Contact:
Priority: medium    
Version: 16.1 (Train)CC: apevec, gthiemon, lhh, majopela, rsafrono, scohen
Target Milestone: betaKeywords: Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-networking-ovn-7.2.1-0.20200529143444.74e82ff.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-29 07:52:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Maciej Józefczyk 2020-05-13 08:41:41 UTC
Description of problem:

When using the ovn-octavia-provider, OVN is not honoring the SOURCE_IP_PORT pool load balancing algorithm. The ovn-octavia-provider only supports the SOURCE_IP_PORT load balancing algorithm.

The following test was created for the SOURCE_IP_PORT algorithm in tempest:
octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_source_ip_port_tcp_traffic

Available in this patch: https://review.opendev.org/#/c/714004/

The test run shows that OVN is randomly distributing the connections from the same source IP and port across the backend member servers. One server is configured to return '1' and the other '5'.

Loadbalancer response totals: {'1': 12, '5': 8}

It should be seeing a result of:

Loadbalancer response totals: {'1': 20}


More information in related launchpad bug:
https://bugs.launchpad.net/neutron/+bug/1871239

Comment 10 Roman Safronov 2020-07-14 11:06:01 UTC
Verified on RHOS-16.1-RHEL-8-20200701.n.0 with python3-networking-ovn-7.2.1-0.20200611111150.18fabca.el8ost.noarch

Verified that octavia_tempest_plugin.tests.scenario.v2.test_traffic_ops.TrafficOperationsScenarioTest.test_source_ip_port_tcp_traffic is passing and reporting with a single key in response totals dict  i.e Loadbalancer response totals: {'5': 20}

Comment 12 errata-xmlrpc 2020-07-29 07:52:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:3148