I should give a bit more details here. Our vCenter contains other DataCenter, and we give administrative rights to the cloudstack user only to a specific DC. Is that sufficient? Do we need top-level privileges for adding custom fields?
Francois On Tue, Mar 26, 2013 at 4:17 PM, Francois Gaudreault < [email protected]> wrote: > Hi, > > We compiled the 4.1 latest code today, and when we try to add a zone with > a VMWare cluster, we end up with this error: > > INFO [network.vpc.VpcManagerImpl] (VpcChecker-1:) Found 0 removed VPCs to > cleanup > INFO [hypervisor.vmware.VmwareServerDiscoverer] (catalina-exec-14:) > Discover host. dc: 2, pod: 2, cluster: 6, uri host: 10.0.22.12 > INFO [hypervisor.vmware.VmwareServerDiscoverer] (catalina-exec-14:) > Detected private network label : vSwitch0 > Started > INFO [vmware.manager.VmwareManagerImpl] (catalina-exec-14:) Preparing > network on host com.cloud.hypervisor.vmware.util.VmwareContext@184cdd35for > vSwitch0 > INFO [vmware.mo.HypervisorHostHelper] (catalina-exec-14:) Network > cloud.private.untagged.0.1-vSwitch0 is ready on vSwitch vSwitch0 > INFO [vmware.manager.VmwareManagerImpl] (catalina-exec-14:) Preparing > network on host com.cloud.hypervisor.vmware.util.VmwareContext@184cdd35for > vSwitch0 > INFO [vmware.mo.HypervisorHostHelper] (catalina-exec-14:) Network > cloud.private.untagged.0.1-vSwitch0 is ready on vSwitch vSwitch0 > Started > ERROR [vmware.resource.VmwareResource] (catalina-exec-14:) Unexpected > Exception > java.lang.Exception: Unable to setup custom field facility for > Datastore:cloud.uuid > at com.cloud.hypervisor.vmware.mo.CustomFieldsManagerMO. > ensureCustomFieldDef(CustomFieldsManagerMO.java:80) > at com.cloud.hypervisor.vmware.resource.VmwareResource. > configure(VmwareResource.java:4804) > at com.cloud.hypervisor.vmware.VmwareServerDiscoverer.find( > VmwareServerDiscoverer.java:268) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:57) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.support.AopUtils. > invokeJoinpointUsingReflection(AopUtils.java:319) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:150) > at org.springframework.aop.aspectj.MethodInvocationProceedingJoin > Point.proceed(MethodInvocationProceedingJoinPoint.java:80) > at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod( > TransactionContextBuilder.java:45) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at org.springframework.aop.aspectj.AspectJAroundAdvice. > invoke(AspectJAroundAdvice.java:65) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.interceptor. > ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.framework.JdkDynamicAopProxy. > invoke(JdkDynamicAopProxy.java:202) > at sun.proxy.$Proxy238.find(Unknown Source) > at com.cloud.resource.ResourceManagerImpl.discoverCluster( > ResourceManagerImpl.java:521) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:57) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.support.AopUtils. > invokeJoinpointUsingReflection(AopUtils.java:319) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:150) > at org.springframework.aop.aspectj.MethodInvocationProceedingJoin > Point.proceed(MethodInvocationProceedingJoinPoint.java:80) > at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod( > TransactionContextBuilder.java:39) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at org.springframework.aop.aspectj.AspectJAroundAdvice. > invoke(AspectJAroundAdvice.java:65) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.interceptor. > ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.framework.JdkDynamicAopProxy. > invoke(JdkDynamicAopProxy.java:202) > at sun.proxy.$Proxy119.discoverCluster(Unknown Source) > at org.apache.cloudstack.api.command.admin.cluster. > AddClusterCmd.execute(AddClusterCmd.java:153) > at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:163) > 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.MethodInvocationProceedingJoin > Point.proceed(MethodInvocationProceedingJoinPoint.java:80) > at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod( > TransactionContextBuilder.java:45) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at org.springframework.aop.aspectj.AspectJAroundAdvice. > invoke(AspectJAroundAdvice.java:65) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.interceptor. > ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.framework.Cglib2AopProxy$ > DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622) > at com.cloud.api.ApiServer.queueCommand(ApiServer.java:500) > at com.cloud.api.ApiServer.handleRequest(ApiServer.java:349) > at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.support.AopUtils. > invokeJoinpointUsingReflection(AopUtils.java:319) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > invokeJoinpoint(ReflectiveMethodInvocation.java:183) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:150) > at org.springframework.aop.aspectj.MethodInvocationProceedingJoin > Point.proceed(MethodInvocationProceedingJoinPoint.java:80) > at com.cloud.utils.db.TransactionContextBuilder.AroundAnyMethod( > TransactionContextBuilder.java:45) > at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621) > at org.springframework.aop.aspectj.AbstractAspectJAdvice. > invokeAdviceMethod(AbstractAspectJAdvice.java:610) > at org.springframework.aop.aspectj.AspectJAroundAdvice. > invoke(AspectJAroundAdvice.java:65) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.interceptor. > ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > proceed(ReflectiveMethodInvocation.java:172) > at org.springframework.aop.framework.JdkDynamicAopProxy. > invoke(JdkDynamicAopProxy.java:202) > at sun.proxy.$Proxy389.handleRequest(Unknown Source) > at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:302) > at com.cloud.api.ApiServlet.doGet(ApiServlet.java:66) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:290) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:206) > at org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:233) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:191) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:127) > at org.apache.catalina.valves.ErrorReportValve.invoke( > ErrorReportValve.java:102) > at org.apache.catalina.valves.AccessLogValve.invoke( > AccessLogValve.java:555) > at org.apache.catalina.core.StandardEngineValve.invoke( > StandardEngineValve.java:109) > at org.apache.catalina.connector.CoyoteAdapter.service( > CoyoteAdapter.java:298) > at org.apache.coyote.http11.Http11NioProcessor.process( > Http11NioProcessor.java:889) > at org.apache.coyote.http11.Http11NioProtocol$ > Http11ConnectionHandler.process(Http11NioProtocol.java:721) > at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. > run(NioEndpoint.java:2274) > 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) > > The cluster is being created, but we obviously see no hosts enabled. > Another interesting issue is about the vmWare network labels. Even if we > use vSwitch2 for the Public network, CloudStack wants to use vSwitch0. > > INFO [vmware.resource.VmwareResource] (catalina-exec-19:) VmwareResource > network configuration info. private vSwitch: vSwitch0, public vSwitch: > vSwitch0, guest network: vSwitch0 > Started** > > Last time we tried this in our lab (1 mth ago) using vCenter 5.1, it was > working flawlessly. Any light? > > Thanks! > > -- > Francois Gaudreault > Architecte de Solution Cloud | Cloud Solutions > [email protected] > - - - > CloudOps > 420 rue Guy > Montréal QC H3J 1S6www.cloudops.com > @CloudOps_ > >
