[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [patch] Improve error reporting in XenD
I've not seen this patch appear in xen-unstable. Any chance that it can make it into Xen 3.0.3 release. Its a really triival 1-liner which significantly improves error handling when talking to XenD. Regards, Dan. On Tue, Aug 29, 2006 at 06:12:22PM +0100, Daniel P. Berrange wrote: > In the XenD code which deals with dispatching of requests (SrvBase.py) the > dispatch process is obviously wrapped in a try/except block. Unfortunately > in the except block, the HTTP error code is never updated to indicate a > failure > condition. > > So, for example, if you try to create a domain requesting 3 GB of memory, > and Dom0 fails to balloon, XenD will happily still return 'HTTP 202 OK' > even though the domain creation failed. This leaves apps talking to XenD > no way to discover that there was a failure in the create operation, other > than telling the user to look in /var/log/xend.log where the details are > logged. > > The attached patch sets the HTTP return code to '500 Internal Error' when > a request throws an exception. This lets client detect & report the failure > of domain creation immediately, improving the end user experiance > > As an example user interaction with current behaviour. libvirt is told by > XenD that domain creation succeeded, so it goes onto to wait for devices > where upon its told there is no such domain: > > Starting install... > libvir: Xen Daemon error : POST operation failed: No such domain demo12 > Failed to get devices for domain demo12 > > With the attached patch applied, the initial domain creation failure can > be detected & reported immediately: > > Starting install... > libvir: Xen Daemon error : POST operation failed: (xend.err 'Error creating > domain: The privileged domain did not balloon!') > Failed to create domain demo12 > > > Signed-off by: Daniel P. Berrange <berrange@xxxxxxxxxx> > > > Regards, > Dan. > -- > |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| > |=- Perl modules: http://search.cpan.org/~danberr/ -=| > |=- Projects: http://freshmeat.net/~danielpb/ -=| > |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| > diff -r 68a1b61ecd28 tools/python/xen/web/SrvBase.py > --- a/tools/python/xen/web/SrvBase.py Mon Aug 28 13:08:41 2006 +0100 > +++ b/tools/python/xen/web/SrvBase.py Tue Aug 29 12:54:28 2006 -0400 > @@ -84,6 +84,7 @@ class SrvBase(resource.Resource): > try: > return op_method(op, req) > except Exception, exn: > + req.setResponseCode(http.INTERNAL_SERVER_ERROR, "Request > failed: " + op) > log.exception("Request %s failed.", op) > if req.useSxp(): > return ['xend.err', str(exn)] > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=| _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |