Re: [ovs-dev] [PATCH ovn 0/3] Health check feature for Load balancer backends
On Sat, Nov 2, 2019 at 1:23 AM Mark Michelson wrote: > > Hi Numan, > > I'm curious why this feature is IPv4-only. Based on patch 3, it looks > like the way is paved for IPv6 support. I'm not sure why IPv6 isn't part > of the initial changeset. > > Aside from a small nit in patch 1, this looks great! Thanks for the reviews. I decided to drop IPv6 support in this series mainly because - There were no IPv6 load balancer tests. - Since there were no IPv6 LB tests, I had to put in a lot more effort to get the patches up for review - And I thought we can add the support later once we have a use case for IPv6 LB health checks. Having said this, I will definitely try to add the IPv6 support when ever I get a chance to look at it. For now we can consider this as technical debt. If some one wants to volunteer, that's great too :) Thanks Numan > > For the series, > Acked-by: Mark Michelson > > On 10/31/19 9:42 AM, num...@ovn.org wrote: > > From: Numan Siddique > > > > This series adds load balancer health check feature. With this > > ovn-controllers will periodically check the status of the backend > > services. Only those services which are online/active will be considered > > for load balancing. > > > > Right now this feature is restricted to IPv4 Load balancers only. > > CMS needs to enable this feature and the load balancer vips and backends > > should have L4 port defined. > > > > For TCP backends, the local ovn-controller which binds that service's > > VIF, will periodically send a SYN packet and would expect SYN-ACK > > response to set the status of that service to online. If no response > > is received within the timeout, then the service status is set to > > offline. > > > > For UDP backends, the local ovn-controller which binds that service's > > VIF, will periodically send an UDP packet and expects no reply. If no > > reply is received within the timeout vallue, the service status is set > > to online. In case the service is down, then ovn-controller expects > > ICMP unreachable packet and upon receiving this ICMP packets, it sets > > the status to offline. > > > > ovn-northd adds only those backends whose status is 'online' or empty to > > the ct_lb action. > > > > Numan Siddique (3): > >ovn-northd: Add support for Load Balancer health check > >Add a new action - handle_svc_check > >Send service monitor health checks > > > > controller/ovn-controller.c | 2 + > > controller/pinctrl.c | 775 -- > > controller/pinctrl.h | 2 + > > include/ovn/actions.h | 17 +- > > lib/actions.c | 42 ++ > > northd/ovn-northd.8.xml | 85 +++- > > northd/ovn-northd.c | 512 -- > > ovn-nb.ovsschema | 25 +- > > ovn-nb.xml| 68 +++ > > ovn-sb.ovsschema | 33 +- > > ovn-sb.xml| 102 + > > tests/ovn-northd.at | 215 ++ > > tests/ovn.at | 133 ++ > > tests/system-common-macros.at | 1 + > > tests/system-ovn.at | 180 > > utilities/ovn-trace.c | 3 + > > 16 files changed, 2122 insertions(+), 73 deletions(-) > > > > ___ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH ovn 0/3] Health check feature for Load balancer backends
Hi Numan, I'm curious why this feature is IPv4-only. Based on patch 3, it looks like the way is paved for IPv6 support. I'm not sure why IPv6 isn't part of the initial changeset. Aside from a small nit in patch 1, this looks great! For the series, Acked-by: Mark Michelson On 10/31/19 9:42 AM, num...@ovn.org wrote: From: Numan Siddique This series adds load balancer health check feature. With this ovn-controllers will periodically check the status of the backend services. Only those services which are online/active will be considered for load balancing. Right now this feature is restricted to IPv4 Load balancers only. CMS needs to enable this feature and the load balancer vips and backends should have L4 port defined. For TCP backends, the local ovn-controller which binds that service's VIF, will periodically send a SYN packet and would expect SYN-ACK response to set the status of that service to online. If no response is received within the timeout, then the service status is set to offline. For UDP backends, the local ovn-controller which binds that service's VIF, will periodically send an UDP packet and expects no reply. If no reply is received within the timeout vallue, the service status is set to online. In case the service is down, then ovn-controller expects ICMP unreachable packet and upon receiving this ICMP packets, it sets the status to offline. ovn-northd adds only those backends whose status is 'online' or empty to the ct_lb action. Numan Siddique (3): ovn-northd: Add support for Load Balancer health check Add a new action - handle_svc_check Send service monitor health checks controller/ovn-controller.c | 2 + controller/pinctrl.c | 775 -- controller/pinctrl.h | 2 + include/ovn/actions.h | 17 +- lib/actions.c | 42 ++ northd/ovn-northd.8.xml | 85 +++- northd/ovn-northd.c | 512 -- ovn-nb.ovsschema | 25 +- ovn-nb.xml| 68 +++ ovn-sb.ovsschema | 33 +- ovn-sb.xml| 102 + tests/ovn-northd.at | 215 ++ tests/ovn.at | 133 ++ tests/system-common-macros.at | 1 + tests/system-ovn.at | 180 utilities/ovn-trace.c | 3 + 16 files changed, 2122 insertions(+), 73 deletions(-) ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
[ovs-dev] [PATCH ovn 0/3] Health check feature for Load balancer backends
From: Numan Siddique This series adds load balancer health check feature. With this ovn-controllers will periodically check the status of the backend services. Only those services which are online/active will be considered for load balancing. Right now this feature is restricted to IPv4 Load balancers only. CMS needs to enable this feature and the load balancer vips and backends should have L4 port defined. For TCP backends, the local ovn-controller which binds that service's VIF, will periodically send a SYN packet and would expect SYN-ACK response to set the status of that service to online. If no response is received within the timeout, then the service status is set to offline. For UDP backends, the local ovn-controller which binds that service's VIF, will periodically send an UDP packet and expects no reply. If no reply is received within the timeout vallue, the service status is set to online. In case the service is down, then ovn-controller expects ICMP unreachable packet and upon receiving this ICMP packets, it sets the status to offline. ovn-northd adds only those backends whose status is 'online' or empty to the ct_lb action. Numan Siddique (3): ovn-northd: Add support for Load Balancer health check Add a new action - handle_svc_check Send service monitor health checks controller/ovn-controller.c | 2 + controller/pinctrl.c | 775 -- controller/pinctrl.h | 2 + include/ovn/actions.h | 17 +- lib/actions.c | 42 ++ northd/ovn-northd.8.xml | 85 +++- northd/ovn-northd.c | 512 -- ovn-nb.ovsschema | 25 +- ovn-nb.xml| 68 +++ ovn-sb.ovsschema | 33 +- ovn-sb.xml| 102 + tests/ovn-northd.at | 215 ++ tests/ovn.at | 133 ++ tests/system-common-macros.at | 1 + tests/system-ovn.at | 180 utilities/ovn-trace.c | 3 + 16 files changed, 2122 insertions(+), 73 deletions(-) -- 2.21.0 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev