Uploading *.vmem file to datastore using HTTPs PUT request fails with error: 500 Internal Server Error
search cancel

Uploading *.vmem file to datastore using HTTPs PUT request fails with error: 500 Internal Server Error

book

Article ID: 324790

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • Uploading *.vmem file to datastore using HTTPs PUT request fails.
  • When the same file is uploaded directly through ESXi, the upload is successful.

Example:
When you run this command for vCenter Server:

curl -u ' [email protected] :Admin!23' --insecure --verbose -X PUT ' https://10.162.32.50/folder/test1/test.vmem?dcPath=VCENTER%252dQA6%252e0&dsNa me=storage%25207tb' -k -i -T test.vmem

In the console output, you see entries similar to:
< HTTP/1.1 500 Internal Server Error
HTTP/1.1 500 Internal Server Error
< Date: Sat, 21 May 2016 00:44:46 GMT
Date: Sat, 21 May 2016 00:44:46 GMT
< Set-Cookie: vmware_soap_session="2b119a389df5b2a0f29fbc9dc20fb08262ca9cd5"; Path=/; HttpOnly; Secure;
Set-Cookie: vmware_soap_session="2b119a389df5b2a0f29fbc9dc20fb08262ca9cd5"; Path=/; HttpOnly; Secure;
< Connection: close
Connection: close
< Content-Type: text; charset=plain
Content-Type: text; charset=plain
< Content-Length: 0
In the vpxa log file, you see entries similar to:
<---
2016-05-20T23:11:08.198Z info vpxa[FFFE2B70] [Originator@6876 sub=Libs opID=task-internal-25-133e2de2] FileIOErrno2Result: Unexpected errno=9, Bad file descriptor
2016-05-20T23:11:08.198Z warning vpxa[FFFE2B70] [Originator@6876 sub=Libs opID=task-internal-25-133e2de2] [NFC ERROR] NfcFileObjIOCompl: Failed to write object @0, 1024000 bytes: Bad file descriptor (90004)
<---
Note: The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment.


Environment

VMware vSphere Web Services SDK 5.5

Cause

Resolution

This is a known issue affecting vCenter Server 5.5 and 6.0.
Currently, there is no resolution.
As a workaround, upload the *.vmem file through ESXi. Alternatively, you can upload the *.vmem file by renaming it to a different extension.