)]}'
{"ceilometerclient/v2/shell.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e5dfa9032b765d859c4a1bd4cca11726c83423fd","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    fields \u003d utils.key_with_slash_to_nested_dict(fields)"},{"line_number":437,"context_line":"    fields.pop(\u0027alarm_id\u0027)"},{"line_number":438,"context_line":"    fields[\u0027type\u0027] \u003d \u0027threshold\u0027"},{"line_number":439,"context_line":"    if \u0027threshold_rule\u0027 in fields and \u0027query\u0027 in fields[\u0027threshold_rule\u0027]:"},{"line_number":440,"context_line":"        fields[\u0027threshold_rule\u0027][\u0027query\u0027] \u003d options.cli_to_array("},{"line_number":441,"context_line":"            fields[\u0027threshold_rule\u0027][\u0027query\u0027])"},{"line_number":442,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BSfk%3D","line":439,"updated":"2013-11-27 20:13:58.000000000","message":"i assume this was throwing an error when we really want the CommandError below? or are all the new tests cases based on a change on Ceilometer side.","commit_id":"08b476d2c9edeff7d025038467922f3d1cda6f19"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3655452582daf0b2e49693edf8ecf9c5bf7ecedf","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    fields \u003d utils.key_with_slash_to_nested_dict(fields)"},{"line_number":437,"context_line":"    fields.pop(\u0027alarm_id\u0027)"},{"line_number":438,"context_line":"    fields[\u0027type\u0027] \u003d \u0027threshold\u0027"},{"line_number":439,"context_line":"    if \u0027threshold_rule\u0027 in fields and \u0027query\u0027 in fields[\u0027threshold_rule\u0027]:"},{"line_number":440,"context_line":"        fields[\u0027threshold_rule\u0027][\u0027query\u0027] \u003d options.cli_to_array("},{"line_number":441,"context_line":"            fields[\u0027threshold_rule\u0027][\u0027query\u0027])"},{"line_number":442,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BSFo%3D","line":439,"in_reply_to":"AAAATn%2F%2BSOI%3D","updated":"2013-11-27 21:49:47.000000000","message":"cool. thanks for the info :)","commit_id":"08b476d2c9edeff7d025038467922f3d1cda6f19"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"67c2328d267418da663bd292759f30f7dc178faf","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    fields \u003d utils.key_with_slash_to_nested_dict(fields)"},{"line_number":437,"context_line":"    fields.pop(\u0027alarm_id\u0027)"},{"line_number":438,"context_line":"    fields[\u0027type\u0027] \u003d \u0027threshold\u0027"},{"line_number":439,"context_line":"    if \u0027threshold_rule\u0027 in fields and \u0027query\u0027 in fields[\u0027threshold_rule\u0027]:"},{"line_number":440,"context_line":"        fields[\u0027threshold_rule\u0027][\u0027query\u0027] \u003d options.cli_to_array("},{"line_number":441,"context_line":"            fields[\u0027threshold_rule\u0027][\u0027query\u0027])"},{"line_number":442,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2BSOI%3D","line":439,"in_reply_to":"AAAATn%2F%2BSfk%3D","updated":"2013-11-27 21:17:28.000000000","message":"Well the problem was that the fields[\u0027threshold_rule\u0027] was referenced with no certainty that the \u0027threshold_rule\u0027 key was actually present in the dict.\n\nIt would be present if some threshold-related aspect of the alarm was being updated, but it would be absent if some other generic aspect of the alarm was being updated (such as the repeat_actions attribute).\n\nIt is not a real error scenario for the \u0027threshold_rule\u0027 key to be absent ... the original code was simply making an invalid assumption that it must always be present.\n\nAlso this patch doesn\u0027t depend on any corresponding fix on the Ceilometer service side.","commit_id":"08b476d2c9edeff7d025038467922f3d1cda6f19"}]}
