DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.

DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
The Jira issue associated with this design spec
https://issues.apache.org/jira/browse/CLOUDSTACK-664
https://issues.apache.org/jira/browse/CLOUDSTACK-665![]()
What branch is this work being done in Master
Currently users can create LB rule and configure stickness policy, Algorithm, Autoscale etc.This feature will enable the users to configure Health check on the LB rule.
1. To ensure if the backend services are healthy
2. Ensure the loadbalancing rule dosen't send any furthur requests to an unhealthy backend service(s).
Benefit of configuring Health Checks on LB Rule:
With the ability to perform health checks on the right set of parameters, the load balancer can service all of the requests by forwarding requests to healthy VM's in case of a VM failure .The load balancer would exactly know, based on the health check configured, that the service is unavailable as supposed to the VM being unavailable.
Dynamic addition / removal of VMs: Once the health checks are configured, the load balancer can automatically remove a VM from load balancer pool if the health checks fail. Also, once the health checks are successful again, the load balancer can add the VMs back to the pool.
This is functional specifications for the feature https://issues.apache.org/jira/browse/CLOUDSTACK-443![]()
f
State the purpose of the document; something like: this is functional specificationS of feature "..." which has Jira ID CS-xyzw
Configuring health checks in Aws http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/ConfigureHealthCheck.html
API to configure health check http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/APIReference/API_ConfigureHealthCheck.html
Author |
Description |
Date |
|---|---|---|
Rajesh Battala |
Initial Revision |
03/01/2013 |
This feature will enable the users to configure health checks on the LB rule.
The initial integration of this feature is based on the following limitations and assumptions:
The HealthCheck manager process logs all the success of updating status of services to Cloud DB operations to DEBUG, all exceptions/failures to ERROR. It also provides DEBUG logging of connection parameters, and LB rule/ health check key information for all HealthCheck manager operations in DEBUG.
In addition to logs, users can verify the healthchecks configured on the LB rules in NetScaler.
A new configuration parameter will be added "lbrule.healthcheck.time.interval" default to 60sec. This parameter value is used to update the health check status from NS to Cloud DB
This enhancement has no impact on branding.
No upgrade scenarios need to be handled, as this is a new functionality.
Users should be able to define health check policies as part of configuring the load balancer rules
User should be able to delete/modify health check policies as part of configuring the load balancer rules
Refer to AWS Health Check Configuration details for additional information and the screenshot below.
Using NS API commands to create/delete/modify the health check monitor
Available to User.
Request parameters:
lbruleid
pingPath
responsetime
intervaltime
healthythresshold
unhealthythresshold
By using the createLBHealthCheck api command we can create the healtcheck monitor for the services in the Rule.When new VM’s got assigned to the rule, monitor should be added to these services also.
Availabler to User
Request Parameters:
id : id of the healthcheck policy
To delete the healthcheck/monitor, call the deleteLBHealthCheck api which will delete health check from the LB rule.
Availability to user
request Parameters:
lbruleid : id of the LB rule.
Using the listLBHealthCheck, health check created for the LB rule will be retrieved.
This is a batch operation. To modify the health check, first call deleteLBHealthCheck which will delete the already existing health check and call createLBHealthCheck with the new configuration parameters.
Note: if the new configuration parameters were not able to be applied, then it won’t restore the old health check.
Table name : loadbalancer_healthchecks
Id |
Bigint(20) |
Primary Key |
Auto_increment |
uuid |
varchar |
Not null |
|
Load_balancer_id |
BigInt |
Fk to Load_balancer_rule(id) |
|
pingpath |
varchar2(1024) |
Default ("/") |
|
Response_time |
Int |
Default (5 sec) |
|
Healthcheck_interval |
Double |
Default (5 sec) |
|
Healthy_thresshold |
Int |
Default (2) |
|
Unhealth_thresshold |
Int |
Default(10) |
The following APIs are supported in this feature.
lbmonitor
service
service_lbmonitor_binding
lbmonitor mymon = new lbmonitor();
mymon.set_monitorname("cshttpmon");
mymon.set_type(lbmonitor.typeEnum.HTTP);
lbmonitor.add(ns_session, mymon);
TBD
Appendix A:
Appendix B: