*What you did that make the problem appear:*Created a k8s pod matching
labels to make it a backend target on a Switch LoadBalancer with a health
check defined. Pod was not running the service listening on the
corresponding port.


*What you expected to happen.*Traffic getting to the LB not to fail since
the pod/backend member was never "online". I would expect traffic to be
sent to members with status = online.

*What actually happened.*
The pod got traffic sent to it and failed all requests with "connection
refused" until the OVN Southbound Service Monitor marked it as "offline".


*The OVN version number (as output by ovn-controller --version).*ovn-controller
24.03.6



*The Git commit number (as output by git rev-parse HEAD), if you built from
a Git snapshot.Any local patches or changes you have applied (if any).*OVN
built into KubeOVN v1.13.14


*The kernel version on which Open vSwitch is running (from /proc/version)
and the distribution and version number of your OS (e.g. “Centos 5.0”).*Linux
version 5.15.0-134-generic (buildd@lcy02-amd64-081) (gcc (Ubuntu
11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38)
#145-Ubuntu SMP Wed Feb 12 20:08:39 UTC 2025


*The contents of the northbound database.*
*Any other information that you think might be relevant.*
I'm aware of https://www.ovn.org/support/dist-docs/ovn-northd.8.html on
section: "Ingress Table 14: LB" second paragraph states

> If health check is enabled, then *a**r**g**s* will only con‐
> tain  those  endpoints whose service monitor status entry
> in *O**V**N**_**S**o**u**t**h**b**o**u**n**d* db is either *o**n**l**i**n**e* 
> or empty.
>
> I would really consider if a health check is defined, the intention behind
defining it is to validate the backends are healthy, if the status is not
online it should not get traffic at all, status empty should be considered
the same way as status offline in this case in my humble opinion, is better
to take the time until the SM succeeds and marks status as "online" to
start sending traffic than take all that time to potentially fail requests,
feels cleaner like that.

Thanks in advance for your feedback and support.

Regards
Juan Morete
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to