On Wed, Jul 04, 2007 at 12:07:45PM +0100, Richard W.M. Jones wrote: > (1) Check for 404 errors from xend and turn them into VIR_ERR_NO_DOMAIN > (currently they are VIR_ERR_POST_FAILED). > > You'll typically see this when you have a handle to a domain, but the > underlying domain is shutdown, as in this example: > > $ python > Python 2.4.3 (#1, Dec 11 2006, 11:39:03) > [GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import libvirt > >>> conn = libvirt.open ("xen+tls:///") > >>> dom = conn.lookupByName ("fc6_6") > >>> dom.suspend () > 0 > >>> dom.resume () > 0 > #### here, I shut down the domain using 'xm' > >>> dom.suspend () > libvir: Xen Daemon error : Domain not found: No such domain fc6_6 > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "/home/rjones/local/lib/python2.4/site-packages/libvirt.py", > line 359, in suspend > if ret == -1: raise libvirtError ('virDomainSuspend() failed', > dom=self) > libvirt.libvirtError: virDomainSuspend() failed Domain not found: No > such domain fc6_6 Hum, I would guess xend_post can be used to call xend on calls not related to domains (for example all calls coming from xend_node_op() though there is only a few). At that point content should carry some kind of error message, I guess if you want to really try to refine the error number you would have to look in the string retuned back. Immediately labelling it as a domain not found error sounds a bit wrong to me. The POST operation could have failed too for some other reason. Unfortunately except poking into content for the returned string I don't see a way to disambiguate there. > (2) There was a case where xend was returning an error, but we didn't > translate that into an error return code (-1). I'm sure this is an > oversight, and the patch fixes it. Hum, this wasn't really an oversight, I didn't want to loose the HTTP error code that early, I agree it's a bit confusing as the function is said to returns the HTTP return code or -1 in case or error, if you loose the return code then http2unix can't do its job. Some cleanup is in order but I would not be too radical there. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list