mogamal1 opened a new issue, #13249:
URL: https://github.com/apache/cloudstack/issues/13249

   ### problem
   
   AttachVolume fails with HTTP 500 from vCenter datastore browser when 
   attaching a detached volume on a PreSetup (DatastoreCluster) storage pool 
   to a Running VMware VM.
   
   ERROR: Failed to attach volume!
   java.io.IOException: Server returned HTTP response code: 500 for URL:
   
https://vcenter.../folder/i-2422-79-VM%2Fcaa1f96c...vmdk?dcPath=EUMETSAT&dsName=OShit-BigVol
   
   CloudStack calls VirtualMachineMO.attachDisk() → getVmdkFileInfo() which 
   does an HTTP GET via vCenter datastore browser. vCenter routes this to a 
   non-owner ESXi host which cannot serve the locked file of the running VM.
   
   **EXPECTED RESULT:**
   Volume attaches successfully. CloudStack should use the vSphere API 
   (ReconfigVM_Task with VirtualDiskSpec) directly instead of going through 
   the vCenter HTTP datastore browser to validate the VMDK.
   
   **WORKAROUND:**
   Power off the VM, attach the volume, power it back on.
   Reference: Related issue #10626
   
   ### versions
   
   **COMPONENT NAME:** Storage / VMware
   **CLOUDSTACK VERSION:** 4.22.0
   
   ### The steps to reproduce the bug
   
   1. Create a volume on a PreSetup/DatastoreCluster-type primary storage pool
   2. Migrate the volume (migrateVolume API) to BIGVOL (DatastoreCluster)
   3. Volume lands correctly on ESXi host VMFS under i-XXXX-XX-VM/ folder
   4. Attempt attachVolume to a Running VM on the same cluster
   
   
   ### What to do about it?
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to