"PlacementException NO_FEASIBLE_PLACEMENT_SOLUTION"
ERROR | task-service-activity-pool-1056 | FutureUtil | Failed to relocate VM to a Hub | requestId=<requestid>,request=POST https://cloud.example.com/api/vApp/vm-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/action/reconfigureVm
DEBUG | task-service-activity-pool-1056 | VAppManagerImpl | 1st Attempt to update storage class <storage policy name>(com.vmware.vcloud.entity.vdcstorageProfile:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) of VM <vm name>(com.vmware.vcloud.entity.vm:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) failed | requestId=<requestid>,request=POST https://cloud.example.com/api/vApp/vm-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/action/reconfigureVm
ERROR | Backend-activity-pool-295668 | RelocateVmActivity | [Activity Execution] Uncaught Exception during Activity execution. Recent phase: com.vmware.ssdc.backend.services.impl.RelocateVmActivity$UpdateComputeVmModelIfNeeded@6d242c8e - Handle: urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx, Current Phase: RelocateVmActivity$UpdateComputeVmModelIfNeeded | requestId=<requestid>,request=POST https://cloud.example.com/api/vApp/vm-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/action/reconfigureVm,requestTime=1713265903823,remoteAddress=<ipaddress>,userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...,accept=application/*+xml;version 39.0.0-alpha vcd=<uuid>,task=<taskid>activity=(com.vmware.vcloud.backendbase.management.system.TaskActivity,urn:uuid:<uuid>) activity=(com.vmware.ssdc.backend.services.impl.RelocateVmActivity,urn:uuid:<uuid>)
java.util.concurrent.ExecutionException: java.lang.AssertionError: Expected completed future, but received future which is still in progress
at com.vmware.vcloud.activity.executors.ActivityRunner.run(ActivityRunner.java:124)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.AssertionError: Expected completed future, but received future which is still in progress
VMware Cloud Director 10.5.1.1 or later
vCenter will trigger a storage vMotion when the policy is updated in Cloud Director. This can take some time to complete. In Cloud Director 10.5.1.1, there is new timeout setting introduced for which when a VM policy change or a Storage vMotion task takes longer than default 5 minutes, the task would fail at VCD level as the timeout is hit.
To resolve this issue the relocate timeout property (relocate.vm.workflow.timeout.minutes
) is available and configurable in Cloud Director.
You will need to increase the relocate timeout value higher than the default 5 minutes using the following command./opt/vmware/vcloud-director/bin/cell-management-tool manage-config -n relocate.vm.workflow.timeout.minutes -v 10
We recommend to increase this value by 5 minutes each time, until you find a value that allow the change of the VM placement policy. The value needs to be higher than the time take for the storage vMotion to complete in vSphere.
Note: The value is in minutes. The command can be run from any cell. No reboot or restart of service required.