[ovs-dev] [PATCH ovn 0/3] Health check feature for Load balancer backends

Numan Siddique nusiddiq at redhat.com
Mon Nov 4 19:29:26 UTC 2019


On Sat, Nov 2, 2019 at 1:23 AM Mark Michelson <mmichels at redhat.com> 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 <mmichels at redhat.com>
>
> On 10/31/19 9:42 AM, numans at ovn.org wrote:
> > From: Numan Siddique <numans at ovn.org>
> >
> > 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
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev


More information about the dev mailing list