No error logging for uncaught exceptions in setup/cleanup of long-running tasks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Zane Bitter | ||
Kilo |
Fix Released
|
Medium
|
Steve Baker | ||
Liberty |
Fix Released
|
Medium
|
Steve Baker |
Bug Description
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.
tags: | added: liberty-backport-potential |
tags: | added: kilo-backport-potential |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Fix proposed to branch: master /review. openstack. org/242278
Review: https:/