handle_signal FAILED raises UnicodeError
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Steve McLellan |
Bug Description
Problem:
If a signal reports a failure condition, line 458 of engine/
status_reason = ', '.join([' : '.join((k, str(status_
This raises an error `Expected exception during message handling (UnicodeError: Message objects do not support str() because they may contain non-ascii characters. Please use unicode() or translate() instead.)`
Expected: Stack is marked as failure with the reason from the signal.
Actual: Stack is left In Progress.
Solution:
The Message in question is a translateable message from gettextutils, and the error condition was introduced in April 2014 for a logging issue (line 326 of gettextutils). The solution in this instance appears to be to translate status_reason, though I can't tell if they are not guaranteed to be Messages in all cases.
Full stack:
2014-06-19 22:25:47.804 ERROR heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
2014-06-19 22:25:47.804 TRACE heat.engine.
Changed in heat: | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in heat: | |
assignee: | nobody → Steve McLellan (sjmc7) |
Changed in heat: | |
milestone: | none → juno-3 |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | juno-3 → 2014.2 |
Fix proposed to branch: master /review. openstack. org/101663
Review: https:/