[libvirt] [PATCH] virsh: Add domdisplay command for VNC and SPICE
Daniel P. Berrange
berrange at redhat.com
Fri Jun 22 10:07:57 UTC 2012
On Fri, Jun 22, 2012 at 10:19:06AM +0200, Michal Privoznik wrote:
> On 22.06.2012 07:38, Doug Goldstein wrote:
> > On Fri, Jun 22, 2012 at 12:30 AM, Doug Goldstein <cardoe at cardoe.com> wrote:
> >> Add a new 'domdisplay' command that provides a URI for both VNC and
> >> SPICE connections. Presently the 'vncdisplay' command provides you with
> >> the port info that QEMU is listening on but there is no counterpart for
> >> SPICE. Additionally this provides you with the bind address as specified
> >> in the XML, which the existing 'vncdisplay' lacks.
> >>
> >
> > I also toyed with the idea of adding this instead as an API call to
> > libvirt called something like virDomainDisplay() and allowing other
> > backends to advertise their URIs to the domain's display. I believe
> > VMWare has VMWare View which I would assume would have a method by
> > which to call it and provide the machine to connect to as command line
> > arguments. Then virsh would simply hook the 'domdisplay' command to
> > virDomainDisplay() and spit out that output. It would probably be able
> > to be used by virt-manager and vdsm as well.
> >
> > Just a thought. Let me know.
> >
>
> Yeah, that's what I was thinking of when reading your patch. I think we
> can add a new API that would return all info needed to connect to a
> display. I think it could look like this:
>
> char * virDomainGetGraphicsInfo(virDomainPtr dom,
> unsigned int flags);
>
> It would return a XML doc containing all interesting knobs:
>
> <graphics type='spice' port='5904'>
> <listen type='address' address='1.2.3.4'/>
> <channel name='main' mode='secure'/>
> <channel name='record' mode='insecure'/>
> <image compression='auto_glz'/>
> <streaming mode='filter'/>
> <clipboard copypaste='no'/>
> <mouse mode='client'/>
> </graphics>
>
> yeah it's basically copy&paste-d from domain's XML, but there is huge
> difference. Currently vncdisplay command (and from quick look at your
I don't think we should be inventing a new API that just replicates
the data from the main XML.
> patch domdisplay too) don't show correct listen address if none set in
> domain's XML. Because in that case we take the one from qemu.conf.
> However, this cannot be stored into domain's XML as it would discard all
> future changes to vnc_listen|spice_listen in qemu.conf. For instance,
> user doesn't set any listenAddress in domain's XML but set
> vnc_listen=1.2.3.4; Then we want vncdisplay (and subsequently
> domdisplay) to return 1.2.3.4:<port>
It is possible to distinguish an original 'listen' addr from
an auto-added already. The auto-added one will only appear
in the live XML, so apps can see the original value via the
inactive XML.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list