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

2019-11-04 Thread Numan Siddique
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

2019-11-01 Thread Mark Michelson

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

2019-10-31 Thread numans
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