venkata swamybabu budumuru created CLOUDSTACK-3282:
------------------------------------------------------
Summary: [GSLB] Unable to add multiple LB rules to same GSLB rule
Key: CLOUDSTACK-3282
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3282
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
Reporter: venkata swamybabu budumuru
Assignee: Murali Reddy
Priority: Critical
Fix For: 4.2.0
Steps to reproduce:
1. Have latest CS setup with at least 2 advanced zones.
2. Enable each zone with Netscaler with GSLB
3. As a non-ROOT domain user, create a GSLB rule
4. assign one LB rule (using VR) from zone1.
5. assign another LB rule from another zone2.
Observations:-
(i) second LB rule assignment failed with the following error "Failed to
configure GSLB rule in the zone"
013-06-28 21:15:11,570 DEBUG [agent.manager.AgentManagerImpl]
(Job-Executor-79:job-116) Details from executing class
com.cloud.agent.api.routing.GlobalLoadBalancerConfigCommand: Failed to apply
GSLB configuration due to Resource already exists
2013-06-28 21:15:11,570 DEBUG [network.element.NetscalerElement]
(Job-Executor-79:job-116) Unable to apply global load balancer rule to the gslb
service provider in zone 1
2013-06-28 21:15:11,570 WARN [region.gslb.GlobalLoadBalancingRulesServiceImpl]
(Job-Executor-79:job-116) Failed to configure GSLB rul in the zone P[1:200] due
to Resource [DataCenter:1] is unreachable: Unable to apply global load balancer
rule to the gslb service provider in zone 1
2013-06-28 21:15:11,571 ERROR [cloud.async.AsyncJobManagerImpl]
(Job-Executor-79:job-116) 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:652)
at
org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl.assignToGlobalLoadBalancerRule(GlobalLoadBalancingRulesServiceImpl.java:263)
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-06-28 21:15:11,572 DEBUG [cloud.async.AsyncJobManagerImpl]
(Job-Executor-79:job-116) Complete async job-116, jobStatus: 2, resultCode:
530, result: Error Code: 530 Error text: Failed to configure GSLB rul in the
zone
2013-06-28 21:15:11,588 DEBUG [cloud.async.SyncQueueManagerImpl]
(Job-Executor-79:job-116) Sync queue (21) is currently empty
(ii) Here is the snippet from Zone1 Netscaler which shows what commands failed
and resulted in this error.
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3842 0 : User nsroot - Remote_ip 10.147.59.194 - Command "set
gslb service cloud-gslb-service-cloudsite1-10.147.44.66-22 -IPAddress
10.147.44.66 -publicIP 10.147.44.66 -publicPort 22 -cip DISABLED
-sitePersistence NONE -maxClient 0 -healthMonitor YES -maxBandwidth 0
-downStateFlush DISABLED -maxAAAUsers 0 0.0.0.0 -monThreshold 0 -appflowLog
ENABLED" - Status "Success"
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3843 0 : User nsroot - Remote_ip 10.147.59.194 - Command "bind
gslb vserver cloud-gslb-vserver-hello.xyztelco.com -serviceName
cloud-gslb-service-cloudsite1-10.147.44.66-22 -weight 1 -devno 19759104" -
Status "ERROR: Resource already exists"
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3844 0 : User nsroot - Remote_ip 10.147.59.194 - Command "add lb
monitor cloud-monitor-10.147.44.66 TCP -resptimeoutThresh 0 -retries 3
-failureRetries 0 -alertRetries 0 -successRetries 1 -IPMapping 0.0.0.0 -state
ENABLED -reverse NO -transparent NO -ipTunnel NO -tos NO -secure NO -devno
19791872" - Status "ERROR: Resource already exists"
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3845 0 : User nsroot - Remote_ip 10.147.59.194 - Command "logout"
- Status "Success"
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3846 0 : User nsroot - Remote_ip 10.147.59.194 - Command "login
nsroot "********"" - Status "Success"
Jun 28 11:46:33 <local0.info> 10.147.44.5 06/28/2013:11:46:33 GMT 0-PPE-0 : UI
CMD_EXECUTED 3847 0 : User nsroot - Remote_ip 10.147.59.194 - Command "show
gslb vserver cloud-gslb-vserver-hello.xyztelco.com" - Status "Success"
Attaching all the required logs to the bug along with db dump and ns.log
--
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