2014-12-10 3 views
0

내 esxi 서버와의 인터페이스에 pysphere을 사용하고 있습니다.PySphere send_file HTTP 500 오류

내가 사용하려고하는 기능 중 하나는 send_file (Explained here)입니다. 즉, 다음과 같은 예외가 발생합니다 내가 추적 파일을 활성화

File "/usr/local/lib/python2.7/dist-packages/pysphere/vi_virtual_machine.py", line 1282, in send_file 
    resp = opener.open(request) 
    File "/usr/lib/python2.7/urllib2.py", line 410, in open 
    response = meth(req, response) 
    File "/usr/lib/python2.7/urllib2.py", line 523, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/usr/lib/python2.7/urllib2.py", line 448, in error 
    return self._call_chain(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
HTTPError: HTTP Error 500: Internal Server Error 

, 그들은 내가 최근에 볼 수있는 ESXi 서버 자체에

RESPONSE: 
200 
OK 
------- 
Date: Wed, 10 Dec 2014 07:03:21 GMT 
Cache-Control: no-cache 
Connection: Keep-Alive 
Content-Type: text/xml; charset=utf-8 
Content-Length: 521 

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
<InitiateFileTransferToGuestResponse xmlns="urn:vim25"><returnval>https://*:443/guestFile?id=11&amp;token=52548475-79f4-6b02-a207-be5d1e3b0a8511</returnval></InitiateFileTransferToGuestResponse> 
</soapenv:Body> 
</soapenv:Envelope> 

(I 응답을 표시하고있다)과 같이 파일을 전송하라는 요청이 이루어진 작업.

이 단계에서 나는 어려움을 겪고 있습니다. 모든 설정을 적어도 다섯 번 확인했습니다. 나는 다른 행동을 수행 할 능력이 있는지 시험했으며, 모두 잘 작동하는 것으로 보인다. 이것에 대해 내가 뭘 할 수 있니? esxi 서버에서 활성화해야 할 설정이 있습니까? VM? 방호벽에 뭔가 있을까?

비슷한 문제 : https://code.google.com/p/pysphere/issues/detail?id=53


편집 : 내가 원하는 무엇는 VM에 파일을 전송할 수 있습니다. 좋은 대체 방법이 있다면.

답변

0

나는 pysphere에서 send_file을 사용하려고했으나 고통스럽고 느렸다. 어떤 이유로 파일 전송시 바이너리 파일에 문제가 있습니다. 내 해결 방법 : 바이너리와 함께 iso 파일을 만들고, 가상 컴퓨터에 마운트 (pysphere API가 있음)하고 bat-file을 만듭니다 (올바른 cdrom을 찾고 파일을 복사해야 함). send_file을 사용하여 일괄 처리를 보냅니다. 시작 프로세스로 실행하십시오.

yapp, send_files는 큰 파일에 문제가있어서 작은 해킹을 사용해야합니다. https://code.google.com/p/pysphere/issues/detail?id=16