mbox series

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

Message ID 20191105092215.3656232-1-numans@ovn.org
Headers show
Series Health check feature for Load balancer backends | expand

Message

Numan Siddique Nov. 5, 2019, 9:22 a.m. UTC
From: Numan Siddique <numans@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.


v1 -> v2
-------
  * Addressed review comment from Mark in p1.
  * Rebased to latest master and resolved conflicts.

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           | 510 ++++++++++++++++++++--
 ovn-nb.ovsschema              |  25 +-
 ovn-nb.xml                    |  68 +++
 ovn-sb.ovsschema              |  33 +-
 ovn-sb.xml                    | 102 +++++
 tests/ovn-northd.at           | 215 ++++++++++
 tests/ovn.at                  | 132 ++++++
 tests/system-common-macros.at |   1 +
 tests/system-ovn.at           | 180 ++++++++
 utilities/ovn-trace.c         |   3 +
 16 files changed, 2119 insertions(+), 73 deletions(-)

Comments

Numan Siddique Nov. 18, 2019, 10:46 a.m. UTC | #1
On Tue, Nov 5, 2019 at 2:53 PM <numans@ovn.org> wrote:
>
> From: Numan Siddique <numans@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.
>
>
> v1 -> v2
> -------
>   * Addressed review comment from Mark in p1.
>   * Rebased to latest master and resolved conflicts.


Thanks for the reviews Mark. I applied this series to master.

Numan

>
> 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           | 510 ++++++++++++++++++++--
>  ovn-nb.ovsschema              |  25 +-
>  ovn-nb.xml                    |  68 +++
>  ovn-sb.ovsschema              |  33 +-
>  ovn-sb.xml                    | 102 +++++
>  tests/ovn-northd.at           | 215 ++++++++++
>  tests/ovn.at                  | 132 ++++++
>  tests/system-common-macros.at |   1 +
>  tests/system-ovn.at           | 180 ++++++++
>  utilities/ovn-trace.c         |   3 +
>  16 files changed, 2119 insertions(+), 73 deletions(-)
>
> --
> 2.23.0
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev