Red Hat Bugzilla – Bug 1280081
No error logging for uncaught exceptions in setup/cleanup of long-running tasks
Last modified: 2016-04-26 11:25:14 EDT
Most exceptions - even unexpected exceptions - in Heat are caught and handled. For example, any exception that occurs while processing a resource operation will cause the resource to be placed in a FAILED state and will generate a ResourceFailure exception that is caught and handled appropriately.
Most uncaught, unhandled exceptions (e.g. exceptions that occur before starting a stack operation) will bubble up to the user - the RPC handler will throw the exception, which will then be reported as the result of the RPC call by oslo.messaging.
There is one exception: code at the start and end of a long-running stack operation that is executed in a separate greenthread (so that exceptions don't bubble up to a RPC response). While any exception that occurs here is a bug, it would be very helpful if we had better error reporting of such bugs when they do occur. Currently the backtrace is printed to stderr, which in many installations means /dev/null (on systems with systemd, it appears in the journald logs, so at least it's not completely lost). We should catch and log these exceptions with a big red ERROR.
I'd like this to be considered for being a blocker for 7.2 since exceptions being logged to the journal instead of heat-engine.log has been hindering our rhos-director 7.0->7.x update efforts.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.