venkata swamybabu budumuru created CLOUDSTACK-2378: ------------------------------------------------------
Summary: [GSLB] assignToGSLBRule or removeFromGlobalLoadBalancerRule APIs are failing when there are multiple physical network in a zone Key: CLOUDSTACK-2378 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2378 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 Priority: Critical Fix For: 4.2.0 Steps to reproduce : 1. Have CloudStack with at least one zone with multiple physical networks 2. Have GSLB device configured in each physical network of the zone 3. create GSLB rule 4. Try to assign at least one LB rule from any of the above physical networks Observations : (i) It fails with the following error 2013-05-08 08:14:59,990 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-79:job-238) Schedule queued job-238 2013-05-08 08:14:59,997 DEBUG [cloud.async.SyncQueueManagerImpl] (Job-Executor-79:job-238) There is a pending process in sync queue(id: 67) 2013-05-08 08:15:00,000 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-80:job-238) Executing org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd for job-238 2013-05-08 08:15:00,023 DEBUG [cloud.user.AccountManagerImpl] (Job-Executor-80:job-238) Access to org.apache.cloudstack.region.gslb.GlobalLoadBalancerRuleVO$$EnhancerByCGLIB$$75a5db02@5b35b0ae granted to Acct[5-dom1Acc3] by DomainChecker_EnhancerByCloudStack_31a4ebb4 2013-05-08 08:15:00,030 DEBUG [cloud.user.AccountManagerImpl] (Job-Executor-80:job-238) Access to Rule[7-LoadBalancing-Active] granted to Acct[5-dom1Acc3] by DomainChecker_EnhancerByCloudStack_31a4ebb4 2013-05-08 08:15:00,039 ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-80:job-238) Unexpected exception while executing org.apache.cloudstack.api.command.user.region.ha.gslb.AssignToGlobalLoadBalancerRuleCmd com.cloud.exception.InvalidParameterValueException: Unable to get physical network in zone id = 1 at com.cloud.network.element.NetscalerElement.findGslbProvider(NetscalerElement.java:861) at com.cloud.network.element.NetscalerElement.isServiceEnabledInZone(NetscalerElement.java:872) at org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl.checkGslbServiceEnabledInZone(GlobalLoadBalancingRulesServiceImpl.java:608) at org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl.assignToGlobalLoadBalancerRule(GlobalLoadBalancingRulesServiceImpl.java:224) 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-08 08:15:00,041 DEBUG [cloud.async.AsyncJobManagerImpl] (Job-Executor-80:job-238) Complete async job-238, jobStatus: 2, resultCode: 530, result: Error Code: 530 Error text: Unable to get physical network in zone id = 1 2013-05-08 08:15:00,058 DEBUG [cloud.async.SyncQueueManagerImpl] (Job-Executor-80:job-238) Sync queue (67) is currently empty (ii) if we are going to support multiple physical networks with GSLB enabled then we need to change our code to allow the above otherwise we should restrict adding GSLB provider in more than one physical network of the same zone. Attaching all the required logs along with the 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