incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Lutterkort <lut...@redhat.com>
Subject Re: Error reporting from backend (rev 1)
Date Wed, 28 Jul 2010 21:47:30 GMT
On Wed, 2010-07-28 at 12:21 +0200, mfojtik@redhat.com wrote:
> I added 'safely do...end' wrap around all methods which are touching
> backend clouds in drivers. So now instead of just getting 'Internal Server Error'
> you will get HTML/XML representation of backend exception (status 500).

Nice.

> One question remains open. Is there any 'standard' way in REST
> to report errors/exceptions ?

None that I know of, besides using HTTP status codes judiciously. In
this case, a 500 or 502 seem the most appropriate codes. Actually, I
think 502 is the best bet here, since it let's clients distinguish
between a bug in the Deltacloud server and the backend.

This would be a good topic for rest-practices.

> Right now we are using this:
> 
> <error status="500" url="/api/instances.xml">
>   <kind>backend_error</kind>
>   <backend driver="ec2">
>     <code>500</code>
>     <message>The request signature we calculated does not match the signature you
provided. Check your AWS Secret Access Key and signing method. Consult the service documentation
for details.</message>
>     <cause>AWS::SignatureDoesNotMatch</cause>
>     <details>...backtrace goes here...</details>
>   </backend>
> </error>
> 
> Possible additions could be: 'backend request url', 'timestamp',
> 'raw response from backend', etc... Let me know what do you think.

I think this is good enough for now.

David



Mime
View raw message