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