[Libvir] remote access ?

Daniel P. Berrange berrange at redhat.com
Mon Oct 15 14:46:13 UTC 2007


On Mon, Oct 15, 2007 at 10:40:21AM -0400, Daniel Veillard wrote:
> On Mon, Oct 15, 2007 at 09:26:26AM -0400, Mark Johnson wrote:
> > On 10/15/07, Richard W.M. Jones <rjones at redhat.com> wrote:
> > > Mark Johnson wrote:
> > > > [root at fedora ~]# virsh connect xen+tcp://localhost
> > > > libvir: Remote error : Connection refused
> > > > error: Failed to connect to the hypervisor
> > >
> > > IME this usually happens because I forget to open the right port on the
> > > firewall (both incoming and outgoing ...)
> > 
> > Thanks Rich.  My problem was I typed the line wrong.  It needed
> > a trailing /
> > 
> >  e.g.
> > 
> > > [root at fedora ~]# virsh connect xen+tcp://localhost
> > 
> > Should have been...
> >   [root at fedora ~]# virsh connect xen+tcp://localhost/
> 
>   Hum, strange, that's still a valid absolute URI except with an empty
> path I find strange we have a problem with this, as we don't use the 
> path for the access in practice ...

It is a bug in xend_internal.c

    if (strcasecmp (name, "xen") == 0 ||
        strncasecmp (name, "xen:///", 7) == 0) {


This needs to die & be replaced with code calling the libxml URI parsing.
I fixed a similar bug in the QEMU driver a few weeks back.

The check for a plain 'xen'  is also now redundant, since src/libvirt.c
turns that into a well-formed URI before it gets passed into the Xen
driver:

    /* Convert NULL or "" to xen:/// for back compat */
    if (!name || name[0] == '\0')
        name = "xen:///";

    /* Convert xen -> xen:/// for back compat */
    if (!strcasecmp(name, "xen"))
        name = "xen:///";



Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the libvir-list mailing list