← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1620352] [NEW] placement api handler duplicates exception logging

 

Public bug reported:

The 'except Exception' catch in nova/api/openstack/placement/handler.py
can duplicate the same trap and logging done by the FaultWrapper class
in the event of a truly unexpected exception.

We should clarify the associated error message so that it is clear that
it is logging all non-success conditions. The FaultWrapper won't get
these because it calls the WSGI application as req.get_response which
will see and properly handle (turn into responses to the client)
exceptions which are webob.exc classes.

The logging in handler.py is still needed because it operates as a stand
in for more extensive failure logging throughout the handlers.

And the logging in FaultWrapper is still required because it catches
truly unexpected exceptions and makes them into effective responses to
send to the client.

Since FaultWrapper is not optional (none of the Placement middleware is) we can rely on it.
Since it wraps the placement its try and except will bound the entire placement API and catch any exceptions.

** Affects: nova
     Importance: Undecided
     Assignee: Chris Dent (cdent)
         Status: New


** Tags: api placement scheduler

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1620352

Title:
  placement api handler duplicates exception logging

Status in OpenStack Compute (nova):
  New

Bug description:
  The 'except Exception' catch in
  nova/api/openstack/placement/handler.py can duplicate the same trap
  and logging done by the FaultWrapper class in the event of a truly
  unexpected exception.

  We should clarify the associated error message so that it is clear
  that it is logging all non-success conditions. The FaultWrapper won't
  get these because it calls the WSGI application as req.get_response
  which will see and properly handle (turn into responses to the client)
  exceptions which are webob.exc classes.

  The logging in handler.py is still needed because it operates as a
  stand in for more extensive failure logging throughout the handlers.

  And the logging in FaultWrapper is still required because it catches
  truly unexpected exceptions and makes them into effective responses to
  send to the client.

  Since FaultWrapper is not optional (none of the Placement middleware is) we can rely on it.
  Since it wraps the placement its try and except will bound the entire placement API and catch any exceptions.

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


Follow ups