VMware Cloud Community
EddiePav
Contributor
Contributor

The operation failed because no suitable resource was found. Hub "Resources" doesn't have enough "*" storage: required - 25,600 MB, available - 0 MB.

vCD 5.5: Trying to import a VM from vSphere into a catalog and i get the following error:

com.vmware.vcloud.api.presentation.service.InternalServerErrorException: The operation failed because no suitable resource was found. Hub "Resources" doesn't have enough "*" storage: required - 25,600 MB, available - 0 MB.

  at com.vmware.vcloud.placement.PlacementExceptionHandler.convertPlacementException(PlacementExceptionHandler.java:53)

  at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.computePlacementSolution(PlacementServiceFacadeImpl.java:582)

  at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.computePlacementSolution(PlacementServiceFacadeImpl.java:562)

  at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.getPlacementState(PlacementServiceFacadeImpl.java:458)

  at com.vmware.vcloud.vdc.impl.AbstractVdcService.copyVAppContents(AbstractVdcService.java:612)

  at com.vmware.vcloud.vdc.impl.ImportServiceImpl.importSingletonTemplateTask(ImportServiceImpl.java:469)

  at sun.reflect.GeneratedMethodAccessor2528.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

  at java.lang.reflect.Method.invoke(Unknown Source)

  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.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)

  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 com.sun.proxy.$Proxy522.importSingletonTemplateTask(Unknown Source)

  at sun.reflect.GeneratedMethodAccessor2528.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

  at java.lang.reflect.Method.invoke(Unknown Source)

  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)

  at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)

  at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)

  at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

  at com.sun.proxy.$Proxy942.importSingletonTemplateTask(Unknown Source)

  at sun.reflect.GeneratedMethodAccessor2528.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

  at java.lang.reflect.Method.invoke(Unknown Source)

  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.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)

  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 com.sun.proxy.$Proxy943.importSingletonTemplateTask(Unknown Source)

  at com.vmware.vcloud.api.presentation.service.impl.ImportServiceAdapterImpl.importSingletonTemplateTask(ImportServiceAdapterImpl.java:181)

  at com.vmware.vcloud.api.presentation.service.impl.ImportServiceAdapterImpl.executeTask(ImportServiceAdapterImpl.java:310)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase$2.doInSecurityContext(TaskActivity.java:427)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase$2.doInSecurityContext(TaskActivity.java:421)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$SecurityContextTemplate.executeForOrgAndUser(TaskActivity.java:674)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase.execute(TaskActivity.java:421)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase.invoke(TaskActivity.java:354)

  at com.vmware.vcloud.activity.executors.ActivityRunner.run(ActivityRunner.java:109)

  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

  at java.util.concurrent.FutureTask.run(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

  at java.lang.Thread.run(Unknown Source)

2013-12-12 23:56:58,811 | ERROR    | backend-activity-pool-24  | AbstractFlushingEventListener  | Could not synchronize database state with session | vcd=ab001958-c7a5-4b7b-82e8-5d1ff8bcc462,task=990b998e-9eb7-47aa-8ef2-c01c94777fe3 activity=urn:uuid:990b998e-9eb7-47aa-8ef2-c01c94777fe3

org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcloud.common.model.VAppModel#740ee8da-c3bf-4ef4-bbeb-85fb6eee52d9]

  at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1792)

  at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2435)

  at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2335)

  at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2635)

  at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:115)

  at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)

  at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)

  at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)

  at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)

  at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

  at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)

  at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)

  at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)

  at com.vmware.vcloud.common.persist.Conversation.commitTransaction(Conversation.java:178)

  at com.vmware.cl.impl.LibraryItemServiceImpl.finalizeLibraryItemAndBackingOnFailedCreation(LibraryItemServiceImpl.java:481)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

  at java.lang.reflect.Method.invoke(Unknown Source)

  at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)

  at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)

  at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)

  at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

  at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

  at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

  at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

  at com.sun.proxy.$Proxy908.finalizeLibraryItemAndBackingOnFailedCreation(Unknown Source)

  at com.vmware.vcloud.api.presentation.service.impl.ImportServiceAdapterImpl.importSingletonTemplateTask(ImportServiceAdapterImpl.java:187)

  at com.vmware.vcloud.api.presentation.service.impl.ImportServiceAdapterImpl.executeTask(ImportServiceAdapterImpl.java:310)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase$2.doInSecurityContext(TaskActivity.java:427)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase$2.doInSecurityContext(TaskActivity.java:421)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$SecurityContextTemplate.executeForOrgAndUser(TaskActivity.java:674)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase.execute(TaskActivity.java:421)

  at com.vmware.vcloud.backendbase.management.system.TaskActivity$ExecutePhase.invoke(TaskActivity.java:354)

  at com.vmware.vcloud.activity.executors.ActivityRunner.run(ActivityRunner.java:109)

  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

  at java.util.concurrent.FutureTask.run(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

  at java.lang.Thread.run(Unknown Source)

2013-12-12 23:56:58,814 | DEBUG    | backend-activity-pool-

Tags (1)
Reply
0 Kudos
9 Replies
karthickvm
VMware Employee
VMware Employee

HI Eddie,

com.vmware.vcloud.api.presentation.service.InternalServerErrorException: The operation failed because no suitable resource was found. Hub "Resources" doesn't have enough "*" storage: required - 25,600 MB, available - 0 MB.


From the logs it looks like the orgVDC doesn't have free space, this could occur if the Storage Profiles is not enabled for the Cluster. Sometimes the status may show as unknown in vCenter.


Can you check if the Storage Capabilities are active. Go to Org VDC --> Storage Capabilities and check the available free space.

Karthic.
vRNI TPM
Reply
0 Kudos
EddiePav
Contributor
Contributor

There's plenty of free space.   the orgvdc is using a VC with 3 storage clusters all of them with plenty of free space.

it only fails like this with "Pay as you go" for the allocation model.

Are you saying i need to enable a specific storage profile for each datastore cluster?   i can't use the *Any storage profile?

Reply
0 Kudos
karthickvm
VMware Employee
VMware Employee

You can use * Any storage Profile, No settings required for this.

Can you please post a screenshot of the configuration, OVDC ---> Storage Capabilities and Datastores.

Karthic.
vRNI TPM
Reply
0 Kudos
EddiePav
Contributor
Contributor

i couldn't insert it inline.  i had to attach.  the first attachment was when i created the OVDC.  the second is after its created.

there's a reservation pool OVDC on the same Provider vDC and it works fine.

Reply
0 Kudos
EddiePav
Contributor
Contributor

FYI.   trying to import a VM from vSphere into a catalog on this OrgvDC and i get this error in the GUI:

Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcloud.common.model.VAppModel#bcb83156-cf91-410e-b8df-77036cb05a12]

Reply
0 Kudos
EddiePav
Contributor
Contributor

We upgraded our ESXi servers to 5.5 today and our Storage Policies started to appear in vCD.

i deleted all of our OrgvDCs.   created a new one with a storage policy and i get the following error in vCD GUI:

Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.vmware.vcloud.common.model.VAppModel#28e2dd41-14fa-413a-b6a1-c05c8b7c1152]

so i looked into the log in /opt/vmware/vcloud-director/logs/vcloud-container-debug.log and i found this.   notice the available number is negative.   This OvDC i created has 7TB storage allocated.

2013-12-17 19:01:18,703 | ERROR    | backend-activity-pool-100 | ImportServiceAdapterImpl       | Failed to import template: (com.vmware.vcloud.entity.vapptemplate:28e2dd41-14fa-413a-b6a1-c05c8b7c1152). | vcd=ab001958-c7a5-4b7b-82e8-5d1ff8bcc462,task=989b57e3-6744-41c6-8d84-74309b26b27d activity=urn:uuid:989b57e3-6744-41c6-8d84-74309b26b27d

com.vmware.vcloud.api.presentation.service.InternalServerErrorException: The operation failed because no suitable resource was found. Hub "Resources" doesn't have enough "VMAX40K" storage: required - 25,600 MB, available - -4,252,573 MB.

        at com.vmware.vcloud.placement.PlacementExceptionHandler.convertPlacementException(PlacementExceptionHandler.java:53)

        at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.computePlacementSolution(PlacementServiceFacadeImpl.java:582)

        at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.computePlacementSolution(PlacementServiceFacadeImpl.java:562)

        at com.vmware.vcloud.placementfacade.impl.PlacementServiceFacadeImpl.getPlacementState(PlacementServiceFacadeImpl.java:458)

        at com.vmware.vcloud.vdc.impl.AbstractVdcService.copyVAppContents(AbstractVdcService.java:612)

        at com.vmware.vcloud.vdc.impl.ImportServiceImpl.importSingletonTemplateTask(ImportServiceImpl.java:469)

        at sun.reflect.GeneratedMethodAccessor2528.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)

Reply
0 Kudos
karthickvm
VMware Employee
VMware Employee

Hi Eddie,

If you have GSS subscription, please raise a Support Request.

I will PM you alternatives

Karthic.
vRNI TPM
Reply
0 Kudos
EddiePav
Contributor
Contributor

Filed SR# 13418994912

I'll update this discussion when i get more information.

Reply
0 Kudos
EddiePav
Contributor
Contributor

Just got off the phone with VMware customer support.   Turns out this is a known bug with vCloud Director and datastore clusters.

The problem is vCD cannot handle a disk space threshold for a datastore cluster that's larger than the space on an indvidual datastore w/in that cluster.

In my case i have a datastore cluster with thresholds set yellow @ 9.7 TB and red at 5.7TB,   which is way way more space than an individual datastore.

When we changed the values to 1000GB and 500GB respectively the import worked fine,   step 5 in this doc below describes the issue

http://pubs.vmware.com/vcd-55/index.jsp?topic=%2Fcom.vmware.vcloud.admin.doc_55%2FGUID-D512EE6A-0B53...

again its an open bug in vCloud Director.  The "workaround" is to set the threshold values to be below the free space on an individual datastore. 

Reply
0 Kudos