Min Chen created CLOUDSTACK-1491: ------------------------------------ Summary: Failed to addCluster for Vmware. Key: CLOUDSTACK-1491 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1491 Project: CloudStack Issue Type: Bug Security Level: Public (Anyone can view this level - this is the default.) Components: VMware Affects Versions: 4.2.0 Reporter: Min Chen Assignee: Sateesh Chodapuneedi Priority: Blocker Fix For: 4.2.0
With lastest master branch code, addCluster failed with the following stack trace: 2013-03-01 17:34:18,953 DEBUG [cloud.network.NetworkModelImpl] (552681680@qtp-144013098-6:null) Failed to retrieve the default label for public traffic.zone: 1 hypervisor: VMware due to: Unable to find the default physical network with traffic=Public in zone id=1. 2013-03-01 17:34:19,305 ERROR [cloud.api.ApiServer] (552681680@qtp-144013098-6:null) unhandled exception executing api command: addCluster java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:571) at java.util.ArrayList.get(ArrayList.java:349) at com.cloud.hypervisor.vmware.VmwareServerDiscoverer.find(VmwareServerDiscoverer.java:214) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod(TransactionContextBuilder.java:54) at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) This exception is thrown from this piece of code recently checked in related to Vmware Distributed Vswitch feature: List<? extends PhysicalNetwork> pNetworkListGuestTraffic = _netmgr.getPhysicalNtwksSupportingTrafficType(dcId, TrafficType.Guest); List<? extends PhysicalNetwork> pNetworkListPublicTraffic = _netmgr.getPhysicalNtwksSupportingTrafficType(dcId, TrafficType.Public); // Public network would be on single physical network hence getting first object of the list would suffice. PhysicalNetwork pNetworkPublic = pNetworkListPublicTraffic.get(0); In this case, pNetworkListPublicTraffic list is empty, thus index out of range error is thrown next. -- 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