[ https://issues.apache.org/jira/browse/CLOUDSTACK-3282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Murali Reddy resolved CLOUDSTACK-3282. -------------------------------------- Resolution: Fixed I could not reproduce the problem reported in the bug. Since there was no attached log with the bug, i just relied on the information posted in the bug description. It looks like there was a resource (GSLB monitor etc) that was already existing. Most of the creation/deletion of NS resources related to GSLB (vserver, site, vserver-server binding etc) logic is idempotent. so resource does not exist/does exist failure should not arise. I am fixing the one resource GSLB monitor which was added recently creation of which was idempotent. In case you see the issue still , reopen bug with logs. > [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: Blocker > 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