[et-mgmt-tools] [PATCH] waiting VNC port number take2
hbrock at redhat.com
Thu Mar 1 15:28:16 UTC 2007
Saori Fukuta wrote:
> On Fri, 23 Feb 2007 12:00:05 +0000 "Daniel P. Berrange" wrote:
>>>> - Once the above fix in libvirt is done, we can make virt-install do
>>>> a loop like the one you have below, but instead of looking in xenstore
>>>> it will look at the port in the XML - waiting for it to change from '-1'
>>>> to an actual port number
>>> You are right, I will consider again as you pointed out.
> I made a patch for current libvirt(revision 1.420) that fixed following:
> revision 1.417
> date: 2007/02/27 15:22:13; author: berrange; state: Exp; lines:+7 -0
> Don't hardcode port=5900+domid for new xend
> Signed-off-by: Saori Fukuta <fukuta.saori at jp.fujitsu.com>
> Saori Fukuta.
> Index: virt-install
> diff -r 1776ef836bf6 virt-install
> --- a/virt-install Wed Feb 28 07:47:31 2007 -0500
> +++ b/virt-install Thu Mar 01 23:26:17 2007 +0900
> @@ -313,11 +313,19 @@ def get_xml_string(dom, path):
> return None
> def vnc_console(dom):
> - import time; time.sleep(2) # FIXME: ugh.
> - vncport = get_xml_string(dom,
> - "/domain/devices/graphics[@type='vnc']/@port")
> - if vncport == None:
> - vncport = 5900 + dom.ID()
> + import time;
> + num = 0
> + while num < ( 40 / 0.25 ): # 40 seconds, .25 second sleeps
> + vncport = get_xml_string(dom,
> + "/domain/devices/graphics[@type='vnc']/@port")
> + if vncport == '-1':
> + num += 1
> + time.sleep(0.25)
> + else:
> + break
> + if vncport == '-1' or vncport is None:
> + print >> sys.stderr, "Unable to connect to graphical console; vncport number is not found."
> + return None
> vncport = int(vncport)
> vnchost = "localhost"
> if not os.path.exists("/usr/bin/vncviewer"):
Thank you Saori-san. Patch applied:
user: "Hugh O. Brock <hbrock at redhat.com>"
date: Thu Mar 01 10:24:34 2007 -0500
summary: Make the vnc port number acquisition sane. Specifically,
sleep in .25 second increments for 40 seconds while waiting for the
guest's vnc server to wake up. Patch from Saori Fukuta
Red Hat Virtualization Group http://redhat.com/virtualization
Hugh Brock | virt-manager http://virt-manager.org
hbrock at redhat.com | virtualization library http://libvirt.org
More information about the et-mgmt-tools