cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajesh Battala <rajesh.batt...@citrix.com>
Subject RE: Review Request: AWS Style HealthCheck feature BugID : 664
Date Thu, 14 Mar 2013 15:46:17 GMT
Thanks a lot Vijay for your review. 

Thanks
Rajesh Battala

> -----Original Message-----
> From: Vijay Venkatachalam [mailto:noreply@reviews.apache.org] On Behalf Of
> Vijay Venkatachalam
> Sent: Thursday, March 14, 2013 8:43 PM
> To: Vijay Venkatachalam
> Cc: Rajesh Battala; cloudstack
> Subject: Re: Review Request: AWS Style HealthCheck feature BugID : 664
> 
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9165/#review17874
> -----------------------------------------------------------
> 
> Ship it!
> 
> 
> Ship It!
> 
> - Vijay Venkatachalam
> 
> 
> On March 14, 2013, 12:36 p.m., Rajesh Battala wrote:
> >
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > https://reviews.apache.org/r/9165/
> > -----------------------------------------------------------
> >
> > (Updated March 14, 2013, 12:36 p.m.)
> >
> >
> > Review request for cloudstack and Vijay Venkatachalam.
> >
> >
> > Description
> > -------
> >
> > Code Review for AWS Style Health Check Feature :
> > Added API commands :
> > 1. createLBHealthCheck
> > 2. deleteLBHealthCheck
> > 3. listLBHealthCheck
> >
> > load_balancer_healthcheck_policies table will hold the data for healthcheck
> polices.
> >
> > commands will take the lbrule id as mandatory param and execute the action.
> > 1. createLBHealthCheck :
> > ========================
> >    LB ruleid is the mandatory param to the api.  Remaining params (pingpath,
> responstime, request Healthcheck_interval, Healthy_thresshold,
> Unhealth_thresshold) have default values. if not specified in the command.
> >   It will create monitor (tcp/http) depending upon the LB protocol.
> >   after creating the LB Monitor, it will bind the monitor to all the services
> present in the LB rule.
> >   NetScaler will take care of monitoring according to the monitor params.
> >   Monitor name will be (Cloud-Hc-<LB IP>-<port>)
> >
> >  Initially only one monitor is supported for an LB rule.
> >  if createLBHealthCheck returns an error, it will cleanup the entry created in
> db.
> >
> > 2. deleteLBHealthCheck:
> > ========================
> >    LB ruleid is the mandatory param to the api.
> >    the command will first unbind all the services attached to it and then the
> monitor will be deleted.
> >    DB entry in load_balancer_healthcheck_policies will be deleted.
> >
> > 3. listLBHealthChecks:
> > ======================
> >     LB ruleid is the mandatory param to the api.
> > 	this command will list LB HealthChecks created on the LB rule.
> >
> > LBHealthCheckManager:
> > =====================
> > A new field is introduce in the table load_balancer_vm_map (state of
> > string type)
> >
> > The task of the LBHealthCheckManager is at every period of time, it will fetch
> the service status of LB rules and update them in the load_balancer_vm_map.
> > The time interval fo the LBHealthManager can be configured from Global
> Settings(healthcheck.update.interval). default value is 600 sec.
> > possible values UP, DOWN, UNKNOWN, BUSY, OUT OF SERVICE, GOING OUT
> OF
> > SERVICE, DOWN WHEN GOING OUT OF SERVICE
> >
> >
> > This addresses bug https://issues.apache.org/jira/browse/CLOUDSTACK-664.
> >
> >
> > Diffs
> > -----
> >
> >   api/src/com/cloud/agent/api/routing/HealthCheckLBConfigAnswer.java PRE-
> CREATION
> >   api/src/com/cloud/agent/api/routing/HealthCheckLBConfigCommand.java
> PRE-CREATION
> >   api/src/com/cloud/agent/api/to/LoadBalancerTO.java 2d166ea
> >   api/src/com/cloud/event/EventTypes.java 0087edc
> >   api/src/com/cloud/network/Network.java efed5cd
> >   api/src/com/cloud/network/element/LoadBalancingServiceProvider.java
> 879ea0e
> >   api/src/com/cloud/network/lb/LoadBalancingRule.java fb1d988
> >   api/src/com/cloud/network/lb/LoadBalancingRulesService.java 3743aae
> >   api/src/com/cloud/network/rules/HealthCheckPolicy.java PRE-CREATION
> >   api/src/org/apache/cloudstack/api/ApiConstants.java b40b26c
> >   api/src/org/apache/cloudstack/api/ResponseGenerator.java a602514
> >
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHeal
> thCheckPolicyCmd.java PRE-CREATION
> >
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/DeleteLBHealt
> hCheckPolicyCmd.java PRE-CREATION
> >
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthC
> heckPoliciesCmd.java PRE-CREATION
> >
> api/src/org/apache/cloudstack/api/response/LBHealthCheckPolicyResponse.jav
> a PRE-CREATION
> >   api/src/org/apache/cloudstack/api/response/LBHealthCheckResponse.java
> PRE-CREATION
> >   client/tomcatconf/commands.properties.in 5018236
> >   plugins/network-elements/dns-notifier/resources/components-example.xml
> 36441bd
> >   plugins/network-elements/elastic-
> loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.jav
> a abb36c3
> >   plugins/network-elements/elastic-
> loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
> 81039d1
> >   plugins/network-
> elements/f5/src/com/cloud/network/element/F5ExternalLoadBalancerElement.
> java 94c098e
> >   plugins/network-
> elements/netscaler/src/com/cloud/network/element/NetscalerElement.java
> c1c735a
> >   plugins/network-
> elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
> abea464
> >   server/src/com/cloud/api/ApiResponseHelper.java 2546f29
> >   server/src/com/cloud/configuration/Config.java 64465a2
> >   server/src/com/cloud/network/ExternalLoadBalancerDeviceManager.java
> d979f07
> >
> server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
> d7b6d78
> >   server/src/com/cloud/network/LBHealthCheckPolicyVO.java PRE-CREATION
> >   server/src/com/cloud/network/NetworkManagerImpl.java 3220c91
> >   server/src/com/cloud/network/dao/LBHealthCheckPolicyDao.java PRE-
> CREATION
> >   server/src/com/cloud/network/dao/LBHealthCheckPolicyDaoImpl.java PRE-
> CREATION
> >   server/src/com/cloud/network/dao/LoadBalancerVMMapVO.java 8856993
> >   server/src/com/cloud/network/element/VirtualRouterElement.java 500d0b6
> >   server/src/com/cloud/network/lb/LBHealthCheckManager.java PRE-
> CREATION
> >   server/src/com/cloud/network/lb/LBHealthCheckManagerImpl.java PRE-
> CREATION
> >   server/src/com/cloud/network/lb/LoadBalancingRulesManager.java 9d7d22f
> >   server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
> 531a428
> >
> server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.ja
> va 3cbd51d
> >   server/src/com/cloud/server/ManagementServerImpl.java d70c45f
> >   setup/db/db/schema-410to420.sql ca15bda
> >
> > Diff: https://reviews.apache.org/r/9165/diff/
> >
> >
> > Testing
> > -------
> >
> > Testing Done:
> > =============
> >
> > 1. create LB rule of TCP protocol and assing instances, create lb healthcheck
> on lb rule. A TCP monitor is created and it will binded to all the services.
> > 2. create LB rule of HTTP protocol and assing instances, create lb healthcheck
> on lb rule. HTTP monitor is created and it will binded to all the services.
> > 3. create LB rule of HTTP protocol and assing instances, create lb healthcheck
> on lb rule with pingpath and other params, HTTP monitor is created and it will
> binded to all the services and its properties pingpath value will be present.
> > 4.for an existing LB with an Monitor, add a new service to LB, monitor will be
> binded to the newly added service.
> > 5.for an existing LB with an Monitor, delete a service from LB, monitor will be
> unbinded and service will be removed.
> > 6.delete an monitor for LB rule, all the service binded to the monitor will be
> unbinded and monitor will get removed.
> > 7.delete LB rule, lb vserver will be deleted and the monitor will be deleted.
> > 8. list the LB rules giving the lb rule id, healtcheckpolicy created
> > on the LB rule will be returned. if not it will return empty list 9.Modify the
> healthcheck.update.interval to 1 min, at every one minute
> LBHealthCheckManager will be updating the service state from the Netscaler.
> >
> >
> > Thanks,
> >
> > Rajesh Battala
> >
> >

Mime
View raw message