Hi Kirk,

Thanks for the pointers.  We manage to get it done without giving full top
level permissions.  So far, giving only "set" and "modify custom
attributes" rights seems to be sufficient.  We will see with future usage :)

Thanks!

Francois


On Tue, Mar 26, 2013 at 6:34 PM, Kirk Kosinski <kirkkosin...@gmail.com>wrote:

> 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_
> >>
> >>
> >
>
>

Reply via email to