[libvirt-users] Virsh+QEMU, SSH issue on compiled libvirt

Saravanan Shanmugham (sarvi) sarvi at cisco.com
Wed Mar 6 18:08:29 UTC 2013


Just to add a little context to what Shantan has been trying to do.

We have libvirt 1.0 from standard fedora RPMs on a few standard Fedora 17
servers used as virtualization hosts
[root at cnh-nehalem-1 ~]# libvirtd --version
libvirtd (libvirt) 1.0.0

We are able to use virsh from these standard installs to connect between
servers through 
virsh -c qemu+ssh://sarvi@libvirthost/system

This has been working.

What we are now trying to do is to
    1. compile a slightly newer libvirt-1.0.2 on of these servers
    2. Install them into a non standard location like
       ./configure --prefix=/users/sarvi/nonstddir
    3. This compiles and installs fine.
    4. Just start plain virsh works fine.
    5. Using this virsh to connect to one of the other existing servers
using the following fails with an error.
       /users/sarvi/nonstddir/bin/virsh -c
qemu+ssh://sarvi@libivirthost/system
error: failed to connect to the hypervisor
error: End of file while reading data: Input/output error

We are looking for some pointers on what the problem might be how to go
about troubleshooting this problem.


Thanks,
Sarvi


On 3/6/13 9:48 AM, "Shantan Marepally (shanredd)" <shanredd at cisco.com>
wrote:

>Peter, Thanks for the reply. Just to let you know turning off TLS did not
>solve the issue for me. I have netcat and the user I am trying to login to
>virsh console does have privileges to create socket. Enabling debug while
>I try to login using QEMU+SSH, I get prompted for my password and get the
>following debugs. The error message "Failed to connect to the hypervisor"
>looks a little suspicious. The same uri with a prebuilt virsh binary, does
>not have any issues connecting. Any thoughts?
>
>
>shanredd at xxxxx.cisco.com's password:
>2013-03-06 17:30:25.993+0000: 28966: debug : virNetClientMarkClose:631 :
>client=0x1c52b10, reason=0
>2013-03-06 17:30:25.993+0000: 28966: debug : virEventPollRemoveHandle:180
>: EVENT_POLL_REMOVE_HANDLE: watch=2
>2013-03-06 17:30:25.993+0000: 28966: debug : virEventPollRemoveHandle:193
>: mark delete 1 5
>2013-03-06 17:30:25.993+0000: 28966: debug :
>virEventPollInterruptLocked:716 : Interrupting
>2013-03-06 17:30:25.993+0000: 28966: debug :
>virNetClientIOEventLoopPassTheBuck:1423 : Giving up the buck 0x1c528e0
>2013-03-06 17:30:25.993+0000: 28966: debug :
>virNetClientIOEventLoopPassTheBuck:1437 : No thread to pass the buck to
>2013-03-06 17:30:25.993+0000: 28966: debug : virNetClientCloseLocked:644 :
>client=0x1c52b10, sock=0x1c52980, reason=0
>2013-03-06 17:30:25.993+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52980
>2013-03-06 17:30:25.993+0000: 28967: debug : virEventPollRunOnce:640 :
>Poll got 1 event(s)
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollDispatchTimeouts:425 : Dispatch 0
>2013-03-06 17:30:25.993+0000: 28966: debug : virObjectRef:295 :
>OBJECT_REF: obj=0x1c52b10
>2013-03-06 17:30:25.993+0000: 28966: debug : virKeepAliveStop:299 :
>RPC_KEEPALIVE_STOP: ka=0x1c52c30 client=0x1c52b10
>2013-03-06 17:30:25.993+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52c30
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollDispatchHandles:470 : Dispatch 1
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollDispatchHandles:484 : i=0 w=1
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollDispatchHandles:498 : EVENT_POLL_DISPATCH_HANDLE: watch=1
>events=1
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollCleanupTimeouts:516 : Cleanup 0
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollCleanupTimeouts:552 : Found 0 out of 0 timeout slots used,
>releasing 0
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollCleanupHandles:564 : Cleanup 2
>2013-03-06 17:30:25.993+0000: 28967: debug :
>virEventPollCleanupHandles:577 : EVENT_POLL_PURGE_HANDLE: watch=2
>2013-03-06 17:30:25.993+0000: 28967: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52b10
>2013-03-06 17:30:25.993+0000: 28967: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52980
>2013-03-06 17:30:25.993+0000: 28967: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c52980
>2013-03-06 17:30:25.993+0000: 28967: debug : virNetSocketDispose:998 :
>sock=0x1c52980 fd=5
>2013-03-06 17:30:25.993+0000: 28967: debug : virEventPollRemoveHandle:180
>: EVENT_POLL_REMOVE_HANDLE: watch=2
>2013-03-06 17:30:25.993+0000: 28967: debug : virFileClose:72 : Closed fd 5
>2013-03-06 17:30:25.993+0000: 28967: debug : virFileClose:72 : Closed fd 7
>2013-03-06 17:30:25.993+0000: 28967: debug : virProcessAbort:92 : aborting
>child process 28968
>2013-03-06 17:30:25.994+0000: 28967: debug : virProcessAbort:97 : process
>has ended: exit status 1
>2013-03-06 17:30:25.994+0000: 28967: debug : virEventRunDefaultImpl:244 :
>running default event implementation
>2013-03-06 17:30:25.994+0000: 28967: debug :
>virEventPollCleanupTimeouts:516 : Cleanup 0
>2013-03-06 17:30:25.994+0000: 28967: debug :
>virEventPollCleanupTimeouts:552 : Found 0 out of 0 timeout slots used,
>releasing 0
>2013-03-06 17:30:25.994+0000: 28967: debug :
>virEventPollCleanupHandles:564 : Cleanup 1
>2013-03-06 17:30:25.994+0000: 28967: debug : virEventPollMakePollFDs:393 :
>Prepare n=0 w=1, f=3 e=1 d=0
>2013-03-06 17:30:25.994+0000: 28967: debug :
>virEventPollCalculateTimeout:332 : Calculate expiry of 0 timers
>2013-03-06 17:30:25.994+0000: 28967: debug :
>virEventPollCalculateTimeout:361 : Timeout at 0 due in -1 ms
>2013-03-06 17:30:25.994+0000: 28967: debug : virEventPollRunOnce:629 :
>EVENT_POLL_RUN: nhandles=1 timeout=-1
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c52c30
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52b10
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52b10
>2013-03-06 17:30:25.994+0000: 28966: debug : virNetClientIO:1806 : All
>done with our call head=(nil) call=0x1c528e0 rv=-1
>2013-03-06 17:30:25.994+0000: 28966: debug : virNetMessageFree:73 :
>msg=0x1c53010 nfds=0 cb=(nil)
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c526f0
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52600
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52d70
>2013-03-06 17:30:25.994+0000: 28966: debug : virNetClientCloseInternal:685
>: client=0x1c52b10 wantclose=0
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52b10
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c52b10
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c526f0
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c526f0
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52600
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c52600
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c52d70
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c52d70
>2013-03-06 17:30:25.994+0000: 28966: debug : virFileClose:72 : Closed fd 8
>2013-03-06 17:30:25.994+0000: 28966: debug : virFileClose:72 : Closed fd 6
>2013-03-06 17:30:25.994+0000: 28966: debug : virNetMessageClear:56 :
>msg=0x1c52b70 nfds=0
>2013-03-06 17:30:25.994+0000: 28966: debug : do_open:1206 : driver 1
>remote returned ERROR
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:258 :
>OBJECT_UNREF: obj=0x1c51f20
>2013-03-06 17:30:25.994+0000: 28966: debug : virObjectUnref:260 :
>OBJECT_DISPOSE: obj=0x1c51f20
>error: failed to connect to the hypervisor
>error: End of file while reading data: 2013-03-06 17:30:22.327+0000:
>28968: debug : virFileClose:72 : Closed fd 6
>2013-03-06 17:30:22.327+0000: 28968: debug : virFileClose:72 : Closed fd 8
>2013-03-06 17:30:22.327+0000: 28968: debug : virCommandHook:2119 : Hook is
>done 0: Input/output error
>2013-03-06 17:30:25.994+0000: 28966: debug : virEventPollAddTimeout:225 :
>Used 0 timeout slots, adding at least 10 more
>2013-03-06 17:30:25.994+0000: 28966: debug :
>virEventPollInterruptLocked:716 : Interrupting
>2013-03-06 17:30:25.994+0000: 28966: debug : virEventPollAddTimeout:248 :
>EVENT_POLL_ADD_TIMEOUT: timer=1 frequency=0 cb=0x4122ee opaque=(nil)
>ff=(nil)
>2013-03-06 17:30:25.994+0000: 28967: debug : virEventPollRunOnce:640 :
>Poll got 1 event(s)
>
>
>
>On 3/6/13 1:35 AM, "Peter Krempa" <pkrempa at redhat.com> wrote:
>
>>On 03/05/13 23:06, Will Dennis wrote:
>>> Hi Shantan,
>>>
>>> I believe the problem may be that libvirt 1.x requires TLS by default
>>>on
>>> connections. I saw that same problem the 1^st time I replaces a running
>>> libvirt 0.9.x with 1.0.0. I believe there may be a way to turn off this
>>> requirement in libvirtd.conf, e.g.
>>
>>This is true for normal connections using TCP. SSH tunneling works in a
>>different way.
>>
>>>
>>> #
>>>
>>> # Network connectivity controls
>>>
>>> #
>>>
>>> # Flag listening for secure TLS connections on the public TCP/IP port.
>>>
>>> # NB, must pass the --listen flag to the libvirtd process for this to
>>>
>>> # have any effect.
>>>
>>> #
>>>
>>> # It is necessary to setup a CA and issue server certificates before
>>>
>>> # using this capability.
>>>
>>> #
>>>
>>> # This is enabled by default, uncomment this to disable it
>>>
>>> #listen_tls = 0
>>>
>>> # Listen for unencrypted TCP connections on the public TCP/IP port.
>>>
>>> # NB, must pass the --listen flag to the libvirtd process for this to
>>>
>>> # have any effect.
>>>
>>> #
>>>
>>> # Using the TCP socket requires SASL authentication by default. Only
>>>
>>> # SASL mechanisms which support data encryption are allowed. This is
>>>
>>> # DIGEST_MD5 and GSSAPI (Kerberos5)
>>>
>>> #
>>>
>>> # This is disabled by default, uncomment this to enable it.
>>>
>>> #listen_tcp = 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>
>>This is not needed for SSH.
>>
>>>
>>> On the two instances of libvirt 1.x I have deployed, I just configure
>>> and use TLS. Instructions on doing this may be found here:
>>>
>>> http://wiki.libvirt.org/page/TLSSetup
>>
>>
>>Please verify that you've got "netcat" installed on the host the daemon
>>is running on (command "nc" in the shell). Also you need to verify that
>>the user account you are using on the machine the daemon is running on
>>has rights to access the libvirt socket.
>>
>>Peter
>>
>





More information about the libvirt-users mailing list