← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1264029] [NEW] Glance API layer doesn't catch some store exceptions leading to 500 errors

 

Public bug reported:

The Glance API layer currently doesn't catch some exceptions raised by
the underlying store layer, resulting in a "500 Internal Server Error".

For e.g. when using the HTTP store, if the remote HTTP server is down,
then an "image-download" operation will fail and the HTTP store will
raise a BadStore exception but the exception is not caught all the way
to the top and results in the 500 error.

Again, if the remote server is up but the specified image file is not
found then the remote HTTP server will return a 404 error but the HTTP
store converts all 4XX errors to a BadStore exception (HTTP store bug?)
which again is not caught.

I think a) underlying stores should return appropriate error
codes/exceptions so that the higher layers can take meaningful action or
produce meaningful error messages and b) the API layer should catch all
exceptions raised by the lower layers so that the user never gets to see
a 500 error.

** Affects: glance
     Importance: Undecided
     Assignee: David Koo (kpublicmail)
         Status: In Progress

** Changed in: glance
     Assignee: (unassigned) => David Koo (kpublicmail)

** Changed in: glance
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1264029

Title:
  Glance API layer doesn't catch some store exceptions leading to 500
  errors

Status in OpenStack Image Registry and Delivery Service (Glance):
  In Progress

Bug description:
  The Glance API layer currently doesn't catch some exceptions raised by
  the underlying store layer, resulting in a "500 Internal Server
  Error".

  For e.g. when using the HTTP store, if the remote HTTP server is down,
  then an "image-download" operation will fail and the HTTP store will
  raise a BadStore exception but the exception is not caught all the way
  to the top and results in the 500 error.

  Again, if the remote server is up but the specified image file is not
  found then the remote HTTP server will return a 404 error but the HTTP
  store converts all 4XX errors to a BadStore exception (HTTP store
  bug?) which again is not caught.

  I think a) underlying stores should return appropriate error
  codes/exceptions so that the higher layers can take meaningful action
  or produce meaningful error messages and b) the API layer should catch
  all exceptions raised by the lower layers so that the user never gets
  to see a 500 error.

To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1264029/+subscriptions


Follow ups

References