[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: [PATCH] [XEN-API] Not raising an API error in VTPM destroy method




xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 02/08/2007 02:00:14 PM:

> On Thu, Feb 08, 2007 at 01:25:23PM -0500, Stefan Berger wrote:
>
> > xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 02/08/2007 10:53:24 AM:
> >
> > > On Wed, Feb 07, 2007 at 06:37:19PM -0500, Stefan Berger wrote:
> > >
> > > > Don't return an API error if vTPM cannot be destroyed due to a running
> > > > VM, but a value indicating failure instead. Adapt python code, libxen
> > > > and documentation.
> > > >
> > > > Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx>
> > >
> > > We have a separate error-returning mechanism -- you should be using that
> > > rather than returning an error code.  Take a look at the end of
> > > xenapi-datamodel.tex; the error code definitions are there.  In
> > XendAPI.py,
> > > you have xen_api_error available, which will marshall an error code and
> > > arguments, and in xen/xm/messages there is a translation database for
> > those
> > > error messages.
> >
> > Thanks for pointing this out. I looked at the xenapi-datamodel.tex, of
> > course, but I mostly find information related to the errors in 1.3.1 and
> > towards the end of the document there's the debug class, but I don't think
> > you are referring to that one.
>
> No, I mean the version that's in xen-unstable.  There's section 2.24 on error
> handling in there.
>
> > The reason why I am actually trying to get rid of the 'return
> > xen_api_error(...)' statement is that if I am using the C client library
> > ,libxen, the session->ok parameter changes to 'false' if this error comes
> > back when for example trying to delete a vTPM from a running VM. I have
> > tried to make the session usable again by doing 'session->ok = true'  so I
> > don't have to establish yet another session -- not sure whether that is an
> > allowed usage model of the session, though. Although this session works
> > for further transactions the program fails at the point when the session
> > is cleaned up with glibc complaining about bad memory. So the easiest way
> > to circumvent this is to have the API return an error code for failure of
> > the operation using xen_api_success().
>
> That might be the easiest way, but it's certainly the wrong one!
>
> This has been discussed a little on the xen-api list before, though I agree
> that the documentation needs to be updated.  Setting session->ok back to true
> when you've handled the error is fine.  The intention is to allow you to chain
> together short groups of calls, and then check for errors at appropriate
> points.  (If you prefer, you can check for errors after every single call,
> that's fine too.)
>
> If you're getting a segfault or a glibc-detected error, then that's clearly a
> bug.  Could you post your code so that I can try it?


I'll try to put something in your test case that triggers this error.

   Stefan


>
> Ewan.
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.