venkata swamybabu budumuru created CLOUDSTACK-2462:
------------------------------------------------------
Summary: [GSLB] Failed to create GSLB rule with "proximity"
algorithm
Key: CLOUDSTACK-2462
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2462
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Network Controller
Affects Versions: 4.2.0
Environment: commit # 09af15035b9febe6f55e73a1389f950ab042564f
Reporter: venkata swamybabu budumuru
Assignee: Murali Reddy
Fix For: 4.2.0
Steps to reproduce :
1. Have CloudStack setup with at least 1 adv zone
2. Try to create a GSLB rule by setting "gslblbmethod" to "proximity"
Observations :
(i) It fails with the following error in the mgmt server logs
2013-05-13 16:20:35,421 DEBUG [cloud.user.AccountManagerImpl]
(Job-Executor-22:job-327) Access to Rule[7-LoadBalancing-Active] granted to
Acct[5-dom1Acc3] by DomainChecker_EnhancerByCloudStack_31a4ebb4
2013-05-13 16:20:35,467 DEBUG [agent.transport.Request]
(Job-Executor-22:job-327) Seq 26-754647047: Sending { Cmd , MgmtId:
7280707764394, via: 26, Ver: v1, Flags: 100011,
[{"routing.GlobalLoadBalancerConfigCommand":{"domainName":"proximity.cloud.xyztelcom.com","serviceType":"tcp","lbMethod":"proximity","persistenceType":"sourceip","gslbId":26,"revoked":false,"siteLoadBalancers":[{"local":true,"revoked":false,"serviceType":"tcp","servicePublicIp":"10.147.44.61","servicePort":"22","gslbProviderPrivateIp":"10.147.44.20","dataCenterId":1}],"wait":0}}]
}
2013-05-13 16:20:35,467 DEBUG [agent.transport.Request]
(Job-Executor-22:job-327) Seq 26-754647047: Executing: { Cmd , MgmtId:
7280707764394, via: 26, Ver: v1, Flags: 100011,
[{"routing.GlobalLoadBalancerConfigCommand":{"domainName":"proximity.cloud.xyztelcom.com","serviceType":"tcp","lbMethod":"proximity","persistenceType":"sourceip","gslbId":26,"revoked":false,"siteLoadBalancers":[{"local":true,"revoked":false,"serviceType":"tcp","servicePublicIp":"10.147.44.61","servicePort":"22","gslbProviderPrivateIp":"10.147.44.20","dataCenterId":1}],"wait":0}}]
}
2013-05-13 16:20:35,468 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-492:null) Seq 26-754647047: Executing request
2013-05-13 16:20:35,540 DEBUG [network.resource.NetscalerResource]
(DirectAgent-492:null) Failed to add GSLB virtual server:
cloud-gslb-vserver-proximity.cloud.xyztelcom.com due to Invalid argument value
[proximity]
2013-05-13 16:20:35,582 WARN [network.resource.NetscalerResource]
(DirectAgent-492:null) Retrying GlobalLoadBalancerConfigCommand. Number of
retries remaining: 1
2013-05-13 16:20:35,651 DEBUG [network.resource.NetscalerResource]
(DirectAgent-492:null) Failed to add GSLB virtual server:
cloud-gslb-vserver-proximity.cloud.xyztelcom.com due to Invalid argument value
[proximity]
2013-05-13 16:20:35,704 WARN [network.resource.NetscalerResource]
(DirectAgent-492:null) Retrying GlobalLoadBalancerConfigCommand. Number of
retries remaining: 0
2013-05-13 16:20:35,772 DEBUG [network.resource.NetscalerResource]
(DirectAgent-492:null) Failed to add GSLB virtual server:
cloud-gslb-vserver-proximity.cloud.xyztelcom.com due to Invalid argument value
[proximity]
2013-05-13 16:20:35,773 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-492:null) Seq 26-754647047: Response Received:
2013-05-13 16:20:35,773 DEBUG [agent.transport.Request] (DirectAgent-492:null)
Seq 26-754647047: Processing: { Ans: , MgmtId: 7280707764394, via: 26, Ver:
v1, Flags: 10,
[{"routing.GlobalLoadBalancerConfigAnswer":{"result":false,"details":"Failed to
apply GSLB configuration due to Failed to add GSLB virtual server:
cloud-gslb-vserver-proximity.cloud.xyztelcom.com due to Invalid argument value
[proximity]","wait":0}}] }
2013-05-13 16:20:35,773 DEBUG [agent.transport.Request]
(Job-Executor-22:job-327) Seq 26-754647047: Received: { Ans: , MgmtId:
7280707764394, via: 26, Ver: v1, Flags: 10, { GlobalLoadBalancerConfigAnswer } }
2013-05-13 16:20:35,773 DEBUG [agent.manager.AgentManagerImpl]
(Job-Executor-22:job-327) Details from executing class
com.cloud.agent.api.routing.GlobalLoadBalancerConfigCommand: Failed to apply
GSLB configuration due to Failed to add GSLB virtual server:
cloud-gslb-vserver-proximity.cloud.xyztelcom.com due to Invalid argument value
[proximity]
2013-05-13 16:20:35,774 DEBUG [network.element.NetscalerElement]
(Job-Executor-22:job-327) Unable to apply global load balancer rule to the gslb
service provider in zone 1
2013-05-13 16:20:35,774 WARN [region.gslb.GlobalLoadBalancingRulesServiceImpl]
(Job-Executor-22:job-327) Failed to configure GSLB rul in the zone 1 due to
Resource [DataCenter:1] is unreachable: Unable to apply global load balancer
rule to the gslb service provider in zone 1
2013-05-13 16:20:35,774 ERROR [cloud.async.AsyncJobManagerImpl]
(Job-Executor-22:job-327) Unexpected exception while executing
org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd
com.cloud.utils.exception.CloudRuntimeException: Failed to configure GSLB rul
in the zone
at
org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl.applyGlobalLoadBalancerRuleConfig(GlobalLoadBalancingRulesServiceImpl.java:595)
at
org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl.assignToGlobalLoadBalancerRule(GlobalLoadBalancingRulesServiceImpl.java:254)
at
org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd.execute(AssignToGlobalLoadBalancerRuleCmd.java:106)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:155)
at
com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:437)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
2013-05-13 16:20:35,775 DEBUG [cloud.async.AsyncJobManagerImpl]
(Job-Executor-22:job-327) Complete async job-327, jobStatus: 2, resultCode:
530, result: Error Code: 530 Error text: Failed to configure GSLB rul in the
zone
(ii) When I manually checked on the "Netscaler", found that only the following
values are valid for lbmethod during the GSLB rule creation.
> set gslb vserver cloud-gslb-vserver-test -lbMethod
CUSTOMLOAD LEASTBANDWIDTH LEASTCONNECTION LEASTPACKETS
LEASTRESPONSETIME ROUNDROBIN RTT SOURCEIPHASH
STATICPROXIMITY
Attaching all the required logs along with db dump.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira