Bug 2151287
| Summary: | [OVN] Session Affinity doesn't work as expected when a non-affinity service shares its backends with the affinity service | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux Fast Datapath | Reporter: | OVN Bot <ovn-bot> |
| Component: | ovn22.09 | Assignee: | Dumitru Ceara <dceara> |
| Status: | CLOSED ERRATA | QA Contact: | ying xu <yinxu> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | FDP 22.L | CC: | ctrautma, dceara, jiji, jishi |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | ovn22.09-22.09.0-24.el9fdp | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-02-09 00:24:32 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
OVN Bot
2022-12-06 15:31:54 UTC
I can reproduce this issue on version:
# rpm -qa|grep ovn
ovn22.09-central-22.09.0-22.el9fdp.x86_64
ovn22.09-host-22.09.0-22.el9fdp.x86_64
ovn22.09-22.09.0-22.el9fdp.x86_64
topo:
# foo -- R1 -- join - R2 -- alice
# | |
# bar ---- - R3 --- bob
#
set lb for R1 as below:
# ovn-nbctl list load_balancer
_uuid : 84152d94-1c68-4311-8fd7-36ae12a4377a
external_ids : {}
health_check : []
ip_port_mappings : {}
name : lb1-no-aff
options : {}
protocol : tcp
selection_fields : []
vips : {"172.16.1.101:8081"="192.168.1.2:80,192.168.2.2:80"}
_uuid : 8b2caa4d-83c5-49bc-a779-20dc5cbf1730
external_ids : {}
health_check : []
ip_port_mappings : {}
name : lb1
options : {affinity_timeout="3"}
protocol : tcp
selection_fields : []
vips : {"172.16.1.101:8080"="192.168.1.2:80,192.168.2.2:80"}
then, do "ip netns exec alice1 ncat 172.16.1.101 8081 <<< h"
but we can see that counter is increased for port 8080
# ovs-ofctl dump-flows br-int|grep 8080
cookie=0x48842071, duration=3948.235s, table=16, n_packets=53, n_bytes=3922, idle_age=3361, priority=100,ct_state=+new+trk,tcp,reg0=0xac100165,reg9=0/0x40,metadata=0x2,nw_dst=192.168.1.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.101,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80102->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x10fdf642, duration=3948.235s, table=16, n_packets=72, n_bytes=5328, idle_age=108, priority=100,ct_state=+new+trk,tcp,reg0=0xac100165,reg9=0/0x40,metadata=0x2,nw_dst=192.168.2.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.101,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80202->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x95d6ca81, duration=3948.219s, table=16, n_packets=0, n_bytes=0, idle_age=3948, priority=100,ct_state=+new+trk,tcp,reg0=0xac10016f,reg9=0/0x40,metadata=0x2,nw_dst=192.168.1.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.111,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80102->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x5e2f7f57, duration=3948.219s, table=16, n_packets=0, n_bytes=0, idle_age=3948, priority=100,ct_state=+new+trk,tcp,reg0=0xac10016f,reg9=0/0x40,metadata=0x2,nw_dst=192.168.2.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.111,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80202->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
verified on version:
# rpm -qa|grep ovn
ovn22.09-central-22.09.0-31.el9fdp.x86_64
ovn22.09-host-22.09.0-31.el9fdp.x86_64
ovn22.09-22.09.0-31.el9fdp.x86_64
we set two lb for lr,one with affiinity and another without,
do "ip netns exec alice1 ncat 172.16.1.101 8081 <<< h"
we can see that counter isn't increased for port 8080
# ovs-ofctl dump-flows br-int|grep 8080 ------------all packets counters are 0.
cookie=0x772eba22, duration=1700.642s, table=16, n_packets=0, n_bytes=0, idle_age=1700, priority=100,ct_state=+new+trk,tcp,reg0=0xac100165,reg9=0x1f900000/0xffff0040,metadata=0x2,nw_dst=192.168.1.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.101,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80102->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x7937c223, duration=1700.642s, table=16, n_packets=0, n_bytes=0, idle_age=1700, priority=100,ct_state=+new+trk,tcp,reg0=0xac100165,reg9=0x1f900000/0xffff0040,metadata=0x2,nw_dst=192.168.2.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.101,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80202->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x30b4c06c, duration=1700.628s, table=16, n_packets=0, n_bytes=0, idle_age=1700, priority=100,ct_state=+new+trk,tcp,reg0=0xac10016f,reg9=0x1f900000/0xffff0040,metadata=0x2,nw_dst=192.168.1.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.111,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80102->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
cookie=0x933beece, duration=1700.628s, table=16, n_packets=0, n_bytes=0, idle_age=1700, priority=100,ct_state=+new+trk,tcp,reg0=0xac10016f,reg9=0x1f900000/0xffff0040,metadata=0x2,nw_dst=192.168.2.2,tp_dst=80 actions=learn(table=78,idle_timeout=3,delete_learned,OXM_OF_METADATA[],eth_type=0x800,NXM_OF_IP_SRC[],ip_dst=172.16.1.111,nw_proto=6,tcp_dst=8080,load:0x1->NXM_NX_REG10[14],load:0xc0a80202->NXM_NX_REG4[],load:0x50->NXM_NX_REG8[0..15])
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 (ovn22.09 bug fix and enhancement update), 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-2023:0684 |