Hello, We have developped our own cloud manager for 2 years now and have been using libvirt to deploy and monitor xen domains with 2 daemons written in Python. As the number of domains increased and when one of them is down, it can ruin our monitoring capability, the daemon getting stuck with the defect connection. Antoine Coetsier -----Message d'origine----- De : Matthias Bolte [mailto:matthias.bolte@xxxxxxxxxxxxxx] Envoyé : jeudi 12 mai 2011 19:23 À : Antoine COETSIER Cc : libvirt-users@xxxxxxxxxx; Julien MOREAU Objet : Re: libvirt connection timeout 2011/5/12 Antoine COETSIER <acoetsier@xxxxxxxxxx>: > Hi all, > I would like to set a short connection timeout (only some seconds) when > using libvirt in my Python program instead of the long default one. What do you mean by connection timeout? The time libvirt waits before reporting an connection attempt (as in calling libvirt.open()) as error? I'm not sure it that value is configurable? Can you be more specific? For example what connection URI do you use in libvirt.open() as the timeout handling will probably be transport specific. > I found the C function: virEventAddTimeoutFunc() in the C libvirt API here: > http://libvirt.org/html/libvirt-libvirt.html#virEventAddTimeoutFunc > > and eventInvokeTimeoutCallback(timer, callback, opaque) in libvirt.py around > the line#150 but I do not know how to use it. I did not find any example on > the net. > > > > I tried this but I get a segmentation fault: :-( > > import libvirt > > def timeout_cb_d(): > print 'Timeout !' > > try: > # try to set the libvirt timeout to 2 seconds: > t = libvirt.eventInvokeTimeoutCallback(2, timeout_cb_d, "from > dom0_class") > except: > ... > > Does anyone can give me a working example please? eventInvokeTimeoutCallback has nothing to do with a connection timeout. This function is related to the event handling. eventInvokeTimeoutCallback is there since 2008 and on a quick look it seems like dead code that should be removed as I can't find any caller for it. Matthias