-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9165/#review17237
-----------------------------------------------------------



api/src/com/cloud/network/lb/LoadBalancingRule.java
<https://reviews.apache.org/r/9165/#comment36625>

    Can you reuse the other constructor? using this()



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36609>

    Watch out for Threshold typo



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36610>

    Watch out for Threshold typo



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36611>

    Camel Case Please



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36613>

    Watch out it is not LbRule Id, it is actually using health check id. You 
might want to correct stickiness policy.



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36614>

    This Exception is never thrown!!



api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36615>

    Typo: "Create"



api/src/org/apache/cloudstack/api/command/user/loadbalancer/DeleteLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36616>

    Wrong Id reference it is not LBStickinessResponse!!



api/src/org/apache/cloudstack/api/command/user/loadbalancer/DeleteLBHealthCheckPolicyCmd.java
<https://reviews.apache.org/r/9165/#comment36618>

    Please use consistent terms, either LB Rule, seems to have been conveyed 
differently in different places 



api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
<https://reviews.apache.org/r/9165/#comment36619>

    check User access need not be done here, it is done again at LBService 
Layer, please remove one.



api/src/org/apache/cloudstack/api/response/LBHealthCheckPolicyResponse.java
<https://reviews.apache.org/r/9165/#comment36620>

    Copy Paste Error



api/src/org/apache/cloudstack/api/response/LBHealthCheckPolicyResponse.java
<https://reviews.apache.org/r/9165/#comment36621>

    Copy Paste Error



api/src/org/apache/cloudstack/api/response/LBHealthCheckResponse.java
<https://reviews.apache.org/r/9165/#comment36624>

    Why do we need this wrapper?



api/src/org/apache/cloudstack/api/response/LBHealthCheckResponse.java
<https://reviews.apache.org/r/9165/#comment36622>

    Unused public function?



client/tomcatconf/commands.properties.in
<https://reviews.apache.org/r/9165/#comment36623>

    No command called listLBHealthCheckPolicy


- Vijay Venkatachalam


On March 1, 2013, 9:07 a.m., Rajesh Battala wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/9165/
> -----------------------------------------------------------
> 
> (Updated March 1, 2013, 9:07 a.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-Mon-<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/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 a26b468 
>   api/src/org/apache/cloudstack/api/ResponseGenerator.java 267238a 
>   
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/CreateLBHealthCheckPolicyCmd.java
>  PRE-CREATION 
>   
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/DeleteLBHealthCheckPolicyCmd.java
>  PRE-CREATION 
>   
> api/src/org/apache/cloudstack/api/command/user/loadbalancer/ListLBHealthCheckPoliciesCmd.java
>  PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/LBHealthCheckPolicyResponse.java 
> PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/LBHealthCheckResponse.java 
> PRE-CREATION 
>   client/tomcatconf/commands.properties.in f03e8d5 
>   client/tomcatconf/components.xml.in 7d86a1c 
>   
> plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/element/ElasticLoadBalancerElement.java
>  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
>  8f902df 
>   
> plugins/network-elements/netscaler/src/com/cloud/network/resource/NetscalerResource.java
>  abea464 
>   server/src/com/cloud/api/ApiResponseHelper.java eafee8a 
>   server/src/com/cloud/configuration/Config.java 8a75a96 
>   server/src/com/cloud/network/ExternalLoadBalancerDeviceManager.java d979f07 
>   server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java 
> bcefccc 
>   server/src/com/cloud/network/LBHealthCheckPolicyVO.java PRE-CREATION 
>   server/src/com/cloud/network/NetworkManagerImpl.java f527b73 
>   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.java 
> 0e2eb63 
>   server/src/com/cloud/server/ManagementServerImpl.java e80d48c 
>   setup/db/db/schema-410to420.sql 4349bd0 
> 
> 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
> 
>

Reply via email to