[libvirt] libvirt-php login issue to ESXi

Michal Novotny minovotn at redhat.com
Wed Jun 29 14:00:13 UTC 2011


Hi Koen,
please try this patch. I can't test it myself since it's logging
automatically in my setup but I *think* I may have found the problem.
Could you please apply attached patch (revert the patch I sent to you
before) and provide me the test results?

Thanks,
Michal

 On 06/29/2011 03:47 PM, Koen Calliauw wrote:
> Hi Michal,
>
> Here's the output. Please note that special characters were visible
> when opening the file with vi, though not with a cat on the console,
> so this is a copy/paste out of vi.
>
> [2011-06-29 15:43:58 libvirt-php/core]: libvirt_connect: credentials
> index 2
> [2011-06-29 15:43:58 libvirt-php/core]: libvirt_connect: credentials
> index 5
> [2011-06-29 15:43:58 libvirt-php/core]: libvirt_connect: Found 2
> elements for credentials
> [2011-06-29 15:43:58 libvirt-php/core]:
> libvirt_virConnectAuthCallback: cred 0, type 2, prompt Enter username
> for 10.9.0.2 [root] challenge 10.9.0.2
>  [2011-06-29 15:43:58 libvirt-php/core]:
> libvirt_virConnectAuthCallback: result rootV^? (4)
> [2011-06-29 15:43:58 libvirt-php/core]:
> libvirt_virConnectAuthCallback: cred 0, type 5, prompt Enter rootV^?'s
> password for 10.9.0.2 challenge 10.9.0.2
>  [2011-06-29 15:43:58 libvirt-php/core]:
> libvirt_virConnectAuthCallback: result fakepass (12)
> [Wed Jun 29 15:44:00 2011] [error] [client 10.9.1.10] PHP Warning: 
> libvirt_connect(): internal error HTTP response code 500 for call to
> 'Login'. Fault: ServerFaultCode - Cannot complete login due to an
> incorrect user name or password. in /var/www/virt.php on line 9,
> referer: http://10.9.0.3/
> [2011-06-29 15:44:00 libvirt-php/core]: libvirt_connect: Cannot
> establish connection to esx://10.9.0.2?transport=http
> <http://10.9.0.2?transport=http>
>
> Best regards,
> Koen Calliauw
>
>
>
> On Wed, Jun 29, 2011 at 3:35 PM, Michal Novotny <minovotn at redhat.com
> <mailto:minovotn at redhat.com>> wrote:
>
>     Hi Koen,
>     that's bad. I don't have logging of username and password length here.
>     I'll try to work on this. You can try attached patch to extend logging
>     by username and password in the mean time and provide me the full
>     resulting log file? Please review whether there is no password and if
>     there is then please change it to fakepass.
>
>     Thanks,
>     Michal
>
>     On 06/29/2011 03:19 PM, Koen Calliauw wrote:
>     > Hi Michal,
>     >
>     > Here's what appears in the logfile when using libvirt_logfile_set:
>     >
>     > [Wed Jun 29 15:18:00 2011] [error] [client 10.9.1.10] PHP Warning:
>     > libvirt_connect(): internal error HTTP response code 500 for call to
>     > 'Login'. Fault: ServerFaultCode - Cannot complete login due to an
>     > incorrect user name or password. in /var/www/virt.php on line 9,
>     > referer: http://10.9.0.3/
>     > [2011-06-29 15:18:00 libvirt-php/core]: libvirt_connect: Cannot
>     > establish connection to esx://10.9.0.2?transport=http
>     <http://10.9.0.2?transport=http>
>     > <http://10.9.0.2?transport=http>
>     >
>     > Best regards,
>     > Koen Calliauw
>     >
>     > On Wed, Jun 29, 2011 at 3:10 PM, Michal Novotny
>     <minovotn at redhat.com <mailto:minovotn at redhat.com>
>     > <mailto:minovotn at redhat.com <mailto:minovotn at redhat.com>>> wrote:
>     >
>     >     Hi Koen,
>     >     thanks for you e-mail. I don't know what exactly is going on
>     here but
>     >     could you please try to enable debug logging using
>     >
>     >     libvirt_logfile_set($filename, $maxsize)
>     >
>     >     API function? The maxsize parameter is optional and it
>     defaults to
>     >     1024
>     >     KiB (1M). The file have to have write permissions so you can
>     touch the
>     >     file, e.g. debug.log and change it's permissions to 777 to allow
>     >     logging. Once you try to login using the script you
>     mentioned with
>     >     debug
>     >     set you will get the debug output into the debug.log file which
>     >     could be
>     >     send to us for further analysis.
>     >
>     >     Thanks,
>     >     Michal
>     >
>     >
>     >     On 06/29/2011 03:03 PM, Koen Calliauw wrote:
>     >     > Hi all,
>     >     >
>     >     > I've started playing with libvirt-php yesterday and with
>     the help of
>     >     > Michal Novotny got it running quite painlessly. However,
>     the login
>     >     > from PHP to my testing ESXi server seems to be failing. I've
>     >     > wiresharked the HTTP traffic with a virsh -c (which works) and
>     >     > compared that to the traffic I see when using the libvirt-php
>     >     > extension, here's the difference I see (mind the username)
>     >     >
>     >     > Not working (libvirt-php)
>     >     >
>     >     > <Login xmlns="urn:vim25"><_this xmlns="urn:vim25"
>     >     > xsi:type="ManagedObjectReference"
>     >     > type="SessionManager">ha-sessionmgr</_this><userName
>     >     xmlns="urn:vim25"
>     >     > xsi:type="xsd:string">root8.</userName><password
>     xmlns="urn:vim25"
>     >     > xsi:type="xsd:string">fakepass</password></Login>
>     >     >
>     >     > Working (virsh -c)
>     >     >
>     >     > <Login xmlns="urn:vim25"><_this xmlns="urn:vim25"
>     >     > xsi:type="ManagedObjectReference"
>     >     > type="SessionManager">ha-sessionmgr</_this><userName
>     >     xmlns="urn:vim25"
>     >     > xsi:type="xsd:string">root</userName><password
>     xmlns="urn:vim25"
>     >     > xsi:type="xsd:string">fakepass</password></Login>
>     >     >
>     >     > So for some reason something gets appended (8.) or encoded
>     wrong or
>     >     > something when I use the PHP extension. This is the
>     testing code
>     >     I run:
>     >     >
>     >     > <?php
>     >     > $credentials =
>     >     >
>     array(VIR_CRED_AUTHNAME=>'root',VIR_CRED_PASSPHRASE=>'fakepass');
>     >     > $conn = libvirt_connect("esx://10.9.0.2?transport=http
>     <http://10.9.0.2?transport=http>
>     >     <http://10.9.0.2?transport=http>
>     >     > <http://10.9.0.2?transport=http>", FALSE, $credentials);
>     >     > if($conn) {
>     >     >     print_r(libvirt_connect_get_hypervisor($conn));
>     >     >
>     >     > } else {
>     >     >     echo "Connection failed: ".libvirt_get_last_error();
>     >     > }
>     >     >
>     >     > Any help with this issue would be greatly appreciated. Thanks!
>     >     >
>     >     > Best regards,
>     >     > Koen Calliauw
>     >
>     >
>     >     --
>     >     Michal Novotny <minovotn at redhat.com
>     <mailto:minovotn at redhat.com> <mailto:minovotn at redhat.com
>     <mailto:minovotn at redhat.com>>>,
>     >     RHCE, Red Hat
>     >     Virtualization | libvirt-php bindings | php-virt-control.org
>     <http://php-virt-control.org>
>     >     <http://php-virt-control.org>
>     >
>     >
>
>
>     --
>     Michal Novotny <minovotn at redhat.com <mailto:minovotn at redhat.com>>,
>     RHCE, Red Hat
>     Virtualization | libvirt-php bindings | php-virt-control.org
>     <http://php-virt-control.org>
>
>


-- 
Michal Novotny <minovotn at redhat.com>, RHCE, Red Hat
Virtualization | libvirt-php bindings | php-virt-control.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: libvirt-php-esxi-debug.patch
Type: text/x-patch
Size: 2145 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110629/5aad586b/attachment-0001.bin>


More information about the libvir-list mailing list