On Fri, Mar 16, 2012 at 10:35 AM, Alex Jia <ajia@redhat.com> wrote:
----- Original Message -----
From: "Su Zhang" <westlifezs@gmail.com>
To: "Alex Jia" <ajia@redhat.com>
Cc: libvirt-users@redhat.com, "Eric Blake" <eblake@redhat.com>
Sent: Friday, March 16, 2012 10:52:32 PM
Subject: Re: [libvirt-users] no connection driver available for No connection for URI xen:///




On Fri, Mar 16, 2012 at 2:22 AM, Alex Jia < ajia@redhat.com > wrote:




On 03/16/2012 01:58 PM, Su Zhang wrote:




On Fri, Mar 16, 2012 at 12:55 AM, Su Zhang < westlifezs@gmail.com > wrote:






On Fri, Mar 16, 2012 at 12:16 AM, Alex Jia < ajia@redhat.com > wrote:




On 03/16/2012 12:12 PM, Su Zhang wrote:

Alex,

I changed the symbolic link to "/usr/local/lib/libvirt.so.0.9.10". Here is the running script:

[root@XenTester libvirt-0.9.10]# rm /usr/lib64/libvirt.so.0
rm: remove symbolic link `/usr/lib64/libvirt.so.0'? yes
[root@XenTester libvirt-0.9.10]# ln -s /usr/local/lib/libvirt.so.0.9.10 /usr/lib64/libvirt.so.0
It's not enough, you had better to clean up your dirty libvirt environment, for example, remove all of
libvirt rpm package on host, then recompile libvirt and ./configure --prefix=/usr && make && make install, or ./autogen --system && make && make install.


I've already done make uninstall && ./autogen.sh --system && make && make install. However, while starting libvirtd, there is still an error here:


Sorry I forgot the command line I used to start the libvirt service, here it is:

[root@XenTester su]# /etc/rc.d/init.d/libvirtd start




Starting libvirtd daemon: libvirtd: /usr/lib64/libvirt.so.0: version `LIBVIRT_PRIVATE_0.9.4' not found (required by libvirtd)
libvirtd: /usr/lib64/libvirt.so.0: version `LIBVIRT_PRIVATE_0.9.4' not found (required by /usr/lib64/libvirt-qemu.so.0)
[FAILED]

Does it mean I cannot remove all of the libvirt binary by only running "make uninstall"?
Are there any other ways can be used to remove the libvirt environment completely?
As usual, 'make uninstall' should be okay, if your 0.9.4 is a libvirt rpm package installation, you may use 'rpm -e libvirt --nodeps' to
remove it, also remove libvirt-client rpm package using the same method.





Alex,

I've done make uninstall, rpm -e libvirt --nodeps and rpm -e libvirt-client --nodeps before I rebuild ( ./autogen.sh --system && make && make install) the libvirt.
It seems that the previous error has gone but warning is left:

[root@XenTester su]# libvirtd start
2012-03-16 14:37:04.511+0000: 29843: info : libvirt version: 0.9.10
2012-03-16 14:37:04.511+0000: 29843: warning : virGetHostname:2108 : getaddrinfo failed for 'XenTester': Name or service not known


Su, the getaddrinfo() can get your hostname, it's just a warning not important, you can run 'hostname' and 'cat /etc/hosts' to
check whether 'XenTester' host name is okay.


Does this warning really matter? Are there anything returned by getaddrinfo will be used by guest OS?


The getaddrinfo() is a gnulib API, which is used for translating name of a service location and/or a service name
to set of socket addresses, libvirt just call it by internal virGetHostname API. it's a host operation not guest.



Besides, could you please confirm if the following running script suggest that Xen and libvirtd have been successfully connected?

[root@XenTester libvirt-0.9.10]# virt-install -p
ERROR
--name is required
--ram amount in MB is required
--disk storage must be specified (override with --nodisks)
An install method must be specified
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)


Su, yeah, it works well for you, 'man virt-install' will show some example about how to install a guest,
or you also interaction mode using virt-install with --prompt.


Thanks,

Alex,

    It initially run correctly. I can install a VM via this interactive installation mode once. However, it encountered another error while I was going to install with the same command another time. It seems that the sockets path has been changed. I checked that the default socket path is:  /usr/local/var/run/libvirt/libvirt-sock, but it seems that the service is looking for a socket located at '/var/run/libvirt/libvirt-sock' (see 'ERROR    Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory' in the following running script) . I searched at livirtd.conf file but cannot find a place to reset this socket path. Could you let me know how to get around this issue?

Here is the running script:


[root@XenTester libvirt-0.9.10]# libvirtd --help

Usage:
  libvirtd [options]

Options:
  -v | --verbose         Verbose messages.
  -d | --daemon          Run as a daemon & write PID file.
  -l | --listen          Listen for TCP/IP connections.
  -t | --timeout <secs>  Exit after timeout period.
  -f | --config <file>   Configuration file.
     | --version         Display version information.
  -p | --pid-file <file> Change name of PID file.

libvirt management daemon:

  Default paths:

    Configuration file (unless overridden by -f):
      /usr/local/etc/libvirt/libvirtd.conf

    Sockets:
      /usr/local/var/run/libvirt/libvirt-sock
      /usr/local/var/run/libvirt/libvirt-sock-ro

    TLS:
      CA certificate:     /usr/local/etc/pki/CA/caert.pem
      Server certificate: /usr/local/etc/pki/libvirt/servercert.pem
      Server private key: /usr/local/etc/pki/libvirt/private/serverkey.pem

    PID file (unless overridden by -p):
      /usr/local/var/run/libvirtd.pid

[root@XenTester libvirt-0.9.10]# virt-install --prompt
ERROR    Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory

Thanks,















Thanks,












I run "strace -o strace.txt virt-install --connect=xen:/// -p" once again, and the following error came out:

ERROR Error in network device parameters: Virtual network 'default' does not exist: this function is not supported by the connection driver: virNetworkLookupByName
the strace.txt is attached.
I think current xen URI works well for you, and you may try virt-install --connect=xen:/// -p -d or virt-install -p -d to confirm this.

The above error is another issues, you need to change others stuff, it's not enough to just link
/usr/local/lib/libvirt.so.0.9.10 /usr/lib64/libvirt.so.0, please follow answer 1.





Are there any other places I need to change in order to let the system know I am running libvirt.so.0.9.10?


Thanks,


On Thu, Mar 15, 2012 at 10:54 PM, Su Zhang < westlifezs@gmail.com > wrote:


Here it is:

# ll /usr/lib64/libvirt.so.0
lrwxrwxrwx. 1 root root 16 Mar 12 21:19 /usr/lib64/libvirt.so.0 -> libvirt.so.0.9.4

So you meant that I used a wrong libvirt.so? How can I correct this?




On Thu, Mar 15, 2012 at 10:52 PM, Alex Jia < ajia@redhat.com > wrote:





On 03/16/2012 11:41 AM, Su Zhang wrote:




On Thu, Mar 15, 2012 at 10:20 PM, Alex Jia < ajia@redhat.com > wrote:





On 03/16/2012 11:02 AM, Su Zhang wrote:




On Thu, Mar 15, 2012 at 9:45 PM, Alex Jia < ajia@redhat.com > wrote:




On 03/16/2012 05:33 AM, Su Zhang wrote:




On Thu, Mar 15, 2012 at 4:20 PM, Eric Blake < eblake@redhat.com > wrote:



On 03/15/2012 02:57 PM, Su Zhang wrote:
> Hi all,
>
> I am trying to use virt-install to install domU image. However, I
> encountered the following issue. It seems that a connection driver is
> needed for Xen.
> I am new to both libvirt and Xen. Anyone have any ideas on what's wrong
> with the following error ?
>
>
>
> # virt-install --connect=xen:/// -p -d
> Thu, 15 Mar 2012 10:17:55 DEBUG Launched with command line:
> /usr/bin/virt-install --connect=xen:/// -p -d
> Thu, 15 Mar 2012 10:17:55 DEBUG Requesting libvirt URI xen:///
> Thu, 15 Mar 2012 10:17:55 ERROR no connection driver available for No
> connection for URI xen:///

This probably means that your copy of libvirt.so and libvirtd was built
without xen support. What does

virsh --version=long

say? Also, are you sure libvirtd is running?
In addition, I want to know your libvirt.so, libvirtd, xend location, for example,
# which libvirtd
# which xend
# locate libvirt.so

Please also make sure xend service is running:
# service xend status







--
Eric Blake eblake@redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org


Eric,

Here is the output:
# virsh --version=long
Virsh command line tool of libvirt 0.9.10
See web site at http://libvirt.org/

Compiled with support for:
Hypervisors: Xen QEmu/KVM UML OpenVZ VirtualBox LXC Test
Networking: Remote Daemon Network Bridging Nwfilter VirtualPort
Storage: Dir Filesystem SCSI Multipath iSCSI LVM
Miscellaneous: SELinux Secrets Debug

It seems that it does support Xen.
Yeah, Xen indeed appears in Hypervisors line.




I am not sure if libvirtd is running so I use the following command to start it:

[root@XenTester srv]# /etc/rc.d/init.d/libvirtd start
Right, you may also use service libvirtd start, and check it by service libvirtd status or ps -ef|grep libvirtd.



But the same error is still there.

Am I using the right way to start libvirtd service? Are there any other possible reasons of this error?




Thanks,

--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University
_______________________________________________
libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users
Alex,

Here is some information:

# /etc/init.d/xencommons start
Starting xenstored...
Setting domain 0 name...
Starting xenconsoled...
[root@XenTester su]# /etc/init.d/xend start
[root@XenTester su]# which libvirtd
/usr/local/sbin/libvirtd
[root@XenTester su]# which xend
/usr/sbin/xend
[root@XenTester su]# locate libvirt.so
/usr/lib64/libvirt.so.0
/usr/lib64/libvirt.so.0.9.4
/usr/local/lib/libvirt.so
/usr/local/lib/libvirt.so.0
/usr/local/lib/libvirt.so.0.9.10
You have 2 different libvirt versions 0.9.4 and 0.9.10, and your 0.9.10 is put under the
/usr/local/lib directory, so I guess you haven't used ./configure with --prefix=/usr option
or directly use ./autogen.sh --system when you configure and compile libvirt.

And also please yum install strace -y if you haven't installed strace rpm, then run the following operation:

# strace -o strace.txt virt-install --connect=xen:/// -p

Then attach strace.txt as a attachment.

Thanks,
Alex



Alex,

Thanks. I have run ./autogen.sh --system. And "make" and "make install" the libvirt once again.
I encountered one type of errors while running "make install", it seems that the installer is looking for a bunch of HTML files under /usr/bin/install. here is the error info:

/usr/bin/install: cannot stat `./api.html': No such file or directory
/usr/bin/install: cannot stat `./api_extension.html': No such file or directory
/usr/bin/install: cannot stat `./apps.html': No such file or directory
/usr/bin/install: cannot stat `./archdomain.html': No such file or directory
/usr/bin/install: cannot stat `./architecture.html': No such file or directory
/usr/bin/install: cannot stat `./archnetwork.html': No such file or directory
/usr/bin/install: cannot stat `./archnode.html': No such file or directory
(there are still tens of HTML files missing)
....
It's not important for our issues.






Do you think this type of errors will affect the functionality of libvirt?
Also, I checked and it seems that I've the latest strace package installed. So I run "strace -o strace.txt virt-install --connect=xen:/// -p".
Please find strace.txt attached.
I saw virt-install is opening /usr/lib64/libvirt.so.0 in strace.txt: open("/usr/lib64/libvirt.so.0", O_RDONLY) = 7 I want to confirm whether you're using compiling libvirt 0.9.10,
ll /usr/lib64/libvirt.so.0 say what?

Thanks,
Alex






Thanks,






[root@XenTester su]# service xend status
[root@XenTester su]# ps -ef|grep libvirtd
root 2242 1 0 21:52 ? 00:00:00 libvirtd --daemon
root 3295 3112 0 21:59 pts/0 00:00:00 grep libvirtd

Can you see if it is normal here?

Thanks,


--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University




--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University




--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University



--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University






--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University



--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University




--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University



--
Su Zhang
Ph.D Candidate
Computing and Information Sciences
Kansas State University