Author: Chris Dent <cd...@anticdent.org>
Date: Wed Aug 2 14:19:34 2017 +0100
[placement] Avoid error log on 405 response
Treat HTTPMethodNotAllowed as a WSGI application rather than exception
so that it is not treated as an uncaught exception and logged as an ERROR
in the PlacementHandler before being caught in the FaultWrapper middleware.
Bad method detection is happening outside the context of WebOb wsgify
handling (which automatically catches Webob exceptions and transforms
them into appropriate responses) so we need to do the transformation
This will help to avoid spurious noise in the logs. See the bug report
for more detail.
** Changed in: nova
Status: In Progress => Fix Released
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
placement services logs 405 response as untrapped error
Status in OpenStack Compute (nova):
When the placement service gets a bad method for an existing URL it
raises an HTTPMethodNotAllowed exception. It does this outside of the
WebOb wsgify context, meaning the the exception is caught the the
FautlWrapper middleware and perceived to be an uncaught exception and
logged as such, muddying the log files with something that is normal.
We don't see this log messaages in CI because we don't accidentally
cause 405s. Where we intentionally cause them (in gabbi tests) the log
message is recorded in the subunit data but not in the test output
because the tests pass (passing tests do not display those
The fix is to treat the HTTPMethodNotAllowed as a wsgi app instead of
an exception and call it. When doing that, things work as desired. Fix
 I discovered this because the subunit files on
https://review.openstack.org/362766 were cresting the 50M limit, because in
that change the api sample tests were passing but having all kinds of errors
with the placement fixture (I've since fixed the patch) generating vast amounts
of log messagse on successful tests. Digging in there also revealed the error
message that this bug wants to deal with.
To manage notifications about this bug go to:
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : email@example.com
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp