Hi, Francois. CloudStack needs admin rights at the vCenter server level, not just at the datacenter level. The "Unable to setup custom field facility" error indicates a lack of needed permissions.
Best regards, Kirk On 03/26/2013 01:36 PM, Francois Gaudreault wrote: > 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 < > fgaudrea...@cloudops.com> 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 >> Architectfgaudreault@cloudops.com514-629-6775 >> - - - >> CloudOps >> 420 rue Guy >> Montréal QC H3J 1S6www.cloudops.com >> @CloudOps_ >> >> >