I'm trying to connect to a vSphere cluster using the information from the libvirt documentation.
$ virsh -c "vpx://firstname.lastname@example.org/dc1/dc1-cluster-e01/dc1-vsphere-e04/?no_verify=1" Enter root's password for 10.51.4.11: error: internal error HTTP response code 400 for call to 'Login' error: failed to connect to the hypervisor
I seem to be able to establish a connection, but it fails with a "HTTP code 400". If I provide the incorrect password it fails with a 'login credentials' error, so it looks like I am getting a connection, but it's failing for another reason.
Wireshark is no help as it's all done over SSL/TLS.
Any thoughts folks?
SOLUTION: jump to my answer below about special characters.
UPDATE: 15:21 28/02/11
FYI - I'm running libvirt-0.8.3 (the Ubuntu package recompiled with the ESX flag enabled).
When I put virsh into debug mode it returns this:
[snip] Enter root's password for 10.51.4.11: 15:19:09.011: debug : do_open:1249 : driver 3 ESX returned ERROR 15:19:09.011: debug : virUnrefConnect:294 : unref connection 0x98aa8f8 1 15:19:09.011: debug : virReleaseConnect:249 : release connection 0x98aa8f8 error: internal error HTTP response code 400 for call to 'Login' error: failed to connect to the hypervisor
I've watched the vmware hostd.log file whilst trying to login, and it reports this error:
UPDATE: 10:26 02/03/11
[2011-03-02 10:24:16.415 26AF8B90 verbose 'Proxysvc Req16870'] New proxy client SSL(TCP(local=10.4.100.26:34001, peer=10.51.4.103:443)) [2011-03-02 10:24:16.430 26933B90 error 'SoapAdapter'] Client sent us an invalid SOAP request: at line number 8, not well-formed (invalid token)