[Chiradeep] I don't see this requirement in the original requirement

[Vijay]As I see; it is integral part of the feature, and I would propose having 
it committed!

[Chiradeep] This should be a different service (monitoring service) that can 
report on LB status.

[Vijay] In the code posted for review, even-though it is not called Monitoring 
service, the status is collected as part of an independent/different manager 
LBHealthCheckManagerImpl. It less aligned to 
ExternalLoadBalancerUsageManagerImpl which is used for collecting stats from LB 
devices; but the idea is the same.

On a relevant note a generic monitoring service might be better to capture and 
brainstorm for more ideas. For example being open to both PUSH & PULL 
approaches, segregating monitoring path/traffic etc.
 

PS:

To quote some references, HealthStatus is reported by AWS

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/CreateLoadBalancer.html

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html#ts-elb-healthcheck-failed


> -----Original Message-----
> From: Chiradeep Vittal [mailto:chiradeep.vit...@citrix.com]
> Sent: Friday, March 08, 2013 6:10 AM
> To: cloudstack-dev@incubator.apache.org
> Cc: Manan Shah
> Subject: Re: [DISCUSS] Method/Algorithm to gather Health Check states
> 
> I don't see this requirement in the original requirement
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Load+Balancer+
> Health
> +checks
> 
> 
> IMO, this should be a different service (monitoring service) that can be
> report on LB status.
> 
> I.E, this is not part of this feature.
> 
> On 3/7/13 7:51 AM, "Vijay Venkatachalam"
> <vijay.venkatacha...@citrix.com>
> wrote:
> 
> >
> >I have mentioned Pros and Cons, thanks for asking!.
> >
> >Hopefully, it gives a better picture now
> >
> >> -----Original Message-----
> >> From: Chip Childers [mailto:chip.child...@sungard.com]
> >> Sent: Thursday, March 07, 2013 7:40 PM
> >> To: cloudstack-dev@incubator.apache.org
> >> Subject: Re: [DISCUSS] Method/Algorithm to gather Health Check states
> >>
> >> On Thu, Mar 07, 2013 at 07:17:17PM +0530, Vijay Venkatachalam wrote:
> >> >
> >> > Any  votes/re-assurances to the thought process from the Networking
> >> Universe?
> >> >
> >> > My Vote: Method-2
> >> >
> >> > -Vijay
> >>
> >> So I'm struggling to understand the implications of doing it via
> >> method
> >> 1 vs method 2.  Can you provide what you think the pros/cons are?
> >>
> >> >
> >> > -----Original Message-----
> >> > From: Vijay Venkatachalam
> >> > Sent: Wednesday, March 06, 2013 7:58 PM
> >> > To: cloudstack-dev@incubator.apache.org
> >> > Subject: [DISCUSS] Method/Algorithm to gather Health Check states
> >> >
> >> > Hi,
> >> >
> >> > As part of HealthCheck feature review, I have suggested to
> >> > introduce a
> >> new Capability for HealthCheck. So that any Network Element who has
> >> this capability can advertise it.
> >> >
> >> > Any alternative thoughts?
> >> >
> >> > The most important part of health check functionality is to update
> >> > the
> >> status of a destination VM in CS DB (as seen by the LB Appliance) on
> >> a scheduled thread launched every time interval.
> >> >
> >> > So on every iteration, the need is to go to every LB rule and find
> >>the status
> >> of its destinations.
> >> >
> >> > I can think of 2 ways to get this done
> >> >
> >> > Method 1:
> >> >   A.  List all the Health Monitors; For each monitor=>
> >> >   B.  Work backwards find the LbRule
> >> >   C. Find the network for LbRule
> >> >   D. Find the LB provider in the network
> >> >   E. Call LoadBalancingServiceProvider.updateStatus by passing LB
> >> > and
> >>its
> >> destinations.
> >> >   F. Which will reach the Resource and ultimately the Appliance
> >> >
> >
> >Pros:
> >1.  Right in the beginning you have the LbRules in the entire system,
> >so you
> >     have a perfect working set for which status have to be collected.
> >
> >Cons:
> >1.  Scope of narrowing down logically to work on the problem set is not
> >present.
> >
> >> > Method 2:
> >> >   A. List all the Networks; For each network =>
> >> >   B. Find the LB provider in the network
> >> >   C. Find the NetworkElement for the LB provider
> >> >   D. Proceed to (E.)  If NetworkElement has the HealthCheck Capability
> >> >   E. Call LoadBalancingServiceProvider.updateStatus by passing LB
> >> > and
> >>its
> >> destinations.
> >> >   F. Which will reach the Resource and ultimately the Appliance
> >> >
> >
> >Pros:
> >1.  Logical break down of the working set "Network" -> "LBRules" ->
> >"Appliance".
> >2.  Possibility of optimization because multiple LB rules of the
> >network can be
> >    passed together to Network Element and NetworkElement can optimize
> >    by sending all lbrules destined to an Appliance together to the
> >Resource for status.
> >3.  Also, in case if we decide to report the status of destination VMs
> >even
> >    if HealthMonitors are not specifically configured by the user (this
> >can be done
> >    because almost all LB appliances track the status of destinations
> >by binding
> >    some default monitor to check connectivity at least to the port),
> >this is the only way.
> >4. Is there a division of responsibility when multiple
> >ManagementServers are installed,
> >     Is it based on networks? Then this approach makes more sense
> >
> >Cons:
> >1.  Even if no LB rules are there with health monitors we will be doing
> >Steps A-D
> >
> >> > I like the top down approach of Method 2. Any thoughts?
> >> >
> >> > Thanks,
> >> > Vijay V.
> >> >
> >> >
> >> > From: Vijay Venkatachalam [mailto:nore...@reviews.apache.org] On
> >> Behalf Of Vijay Venkatachalam
> >> > Sent: Wednesday, March 06, 2013 6:10 PM
> >> > To: Vijay Venkatachalam
> >> > Cc: Rajesh Battala; cloudstack
> >> > Subject: Re: Review Request: AWS Style HealthCheck feature BugID :
> >> > 664

Reply via email to