[libvirt] libvirt-python API for "domdisplay"

Michal Privoznik mprivozn at redhat.com
Mon Jun 17 16:05:35 UTC 2013


On 17.06.2013 17:19, mzawdx wrote:
> Hi all:
>     Work with virsh CLI, I can easy use the CLI " virsh -c
> qemu+tcp://127.0.0.1/system domdisplay instance-00000001" successfully:
>  
> [root at webmintest ~]#  virsh -c qemu+tcp://127.0.0.1/system domdisplay
> instance-00000001
> Please enter your authentication name: fred
> Please enter your password:
> vnc://127.0.0.1:0
>  
> However, I can find any libvit-python API related to this CLI, does it
> exist ?

No. The domdisplay command is pure virsh with a XPATH magic. The
algorithm is as follows:

1) dump the XML of desired domain
2) for i in "vnc", "spice", "rdp"; do
2a)   xpath = string(/domain/devices/graphics[@type='%s']/@port), %i
2b)   port = xpath_query($domxml, $xpath)
2c)   if !port continue
2d)   xpath = string(/domain/devices/graphics[@type='%s']/@listen), %i
2e)   listen = xpath_query($domxml, $xpath)
2f)   if ($i == "vnc) port -= 5900;
3) print %s://%s:%d, %i %listen %port

The whole source is here:

http://libvirt.org/git/?p=libvirt.git;a=blob;f=tools/virsh-domain.c;h=955e882151827dc69f9aeb374a870134a9777910;hb=HEAD#l8756

Michal




More information about the libvir-list mailing list