)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"968ce1d9419176d8cc9c19c4ef65893b7076f6e1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"it throws the correct EC2 error codes according to the"},{"line_number":23,"context_line":"public EC2 API specs."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Also removed some duplicate exceptions as well."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Ib7045e49211d9300e9cb6ca0bfe80e569d635c9b"},{"line_number":28,"context_line":"Signed-off-by: Chuck Short \u003cchuck.short@canonical.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2Fxl4%3D","line":25,"updated":"2013-01-06 00:07:46.000000000","message":"Please include the bug here. Also, I suspect this should be DocImpact?","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"da09a8c6cd17ada999db2afe34e9b0617910828e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"it throws the correct EC2 error codes according to the"},{"line_number":23,"context_line":"public EC2 API specs."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Also removed some duplicate exceptions as well."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: Ib7045e49211d9300e9cb6ca0bfe80e569d635c9b"},{"line_number":28,"context_line":"Signed-off-by: Chuck Short \u003cchuck.short@canonical.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAM3%2F%2FfTM%3D","line":25,"in_reply_to":"AAAAM3%2F%2Fxl4%3D","updated":"2013-01-18 20:08:40.000000000","message":"Done","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"}],"nova/api/ec2/cloud.py":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"968ce1d9419176d8cc9c19c4ef65893b7076f6e1","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        if key_name is not None and not key_pairs:"},{"line_number":410,"context_line":"            msg \u003d _(\u0027Could not find key pair(s): %s\u0027) % \u0027,\u0027.join(key_name)"},{"line_number":411,"context_line":"            raise exception.KeypairNotFound(msg,"},{"line_number":412,"context_line":"                                           code\u003d\"InvalidKeyPair.Duplicate\")"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        result \u003d []"},{"line_number":415,"context_line":"        for key_pair in key_pairs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fxl0%3D","line":412,"updated":"2013-01-06 00:07:46.000000000","message":"Please tweak the indentation of this line to line up with the start of \"msg\".","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"da09a8c6cd17ada999db2afe34e9b0617910828e","unresolved":false,"context_lines":[{"line_number":409,"context_line":"        if key_name is not None and not key_pairs:"},{"line_number":410,"context_line":"            msg \u003d _(\u0027Could not find key pair(s): %s\u0027) % \u0027,\u0027.join(key_name)"},{"line_number":411,"context_line":"            raise exception.KeypairNotFound(msg,"},{"line_number":412,"context_line":"                                           code\u003d\"InvalidKeyPair.Duplicate\")"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"        result \u003d []"},{"line_number":415,"context_line":"        for key_pair in key_pairs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FfS8%3D","line":412,"in_reply_to":"AAAAM3%2F%2Fxl0%3D","updated":"2013-01-18 20:08:40.000000000","message":"Done","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"56c074d6bf4fdc0c40d2fbb3e79c9ff09cfca774","unresolved":false,"context_lines":[{"line_number":458,"context_line":"                                                       key_name)"},{"line_number":459,"context_line":"        except exception.KeypairLimitExceeded:"},{"line_number":460,"context_line":"            msg \u003d _(\"Quota exceeded, too many key pairs.\")"},{"line_number":461,"context_line":"            raise exception.EC2APIError(msg, code\u003d\u0027ResourceLimitExceeded\u0027)"},{"line_number":462,"context_line":"        return {\u0027keyName\u0027: key_name,"},{"line_number":463,"context_line":"                \u0027keyFingerprint\u0027: keypair[\u0027fingerprint\u0027],"},{"line_number":464,"context_line":"                \u0027keyMaterial\u0027: keypair[\u0027private_key\u0027]}"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2FchA%3D","line":461,"updated":"2013-01-22 09:01:36.000000000","message":"It catches an exception here, and throws a new one, while loosing the original stack trace. \n\nI wonder wouldn\u0027t be better, to let the exception propagate, and just setting the correct error code on the error response creation.","commit_id":"5cce71baaa13fc651d76b6b26a29effbf879f1b1"}],"nova/tests/test_api.py":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"968ce1d9419176d8cc9c19c4ef65893b7076f6e1","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                pass"},{"line_number":314,"context_line":"            else:"},{"line_number":315,"context_line":"                self.fail(\"Unexpected EC2ResponseError: %s \""},{"line_number":316,"context_line":"                          \"(expected InvalidKeyPair.Duplicate)\" % e.code)"},{"line_number":317,"context_line":"        else:"},{"line_number":318,"context_line":"            self.fail(\u0027Exception not raised.\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Fxlw%3D","line":316,"updated":"2013-01-06 00:07:46.000000000","message":"I know this is pre-existing, but its a bit weird. Why can this be:\n\nself.assertEqual(\u0027InvalidKeyPair.Duplicate\u0027, e.code)","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"da09a8c6cd17ada999db2afe34e9b0617910828e","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                pass"},{"line_number":314,"context_line":"            else:"},{"line_number":315,"context_line":"                self.fail(\"Unexpected EC2ResponseError: %s \""},{"line_number":316,"context_line":"                          \"(expected InvalidKeyPair.Duplicate)\" % e.code)"},{"line_number":317,"context_line":"        else:"},{"line_number":318,"context_line":"            self.fail(\u0027Exception not raised.\u0027)"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FfS0%3D","line":316,"in_reply_to":"AAAAM3%2F%2Fxlw%3D","updated":"2013-01-18 20:08:40.000000000","message":"Done","commit_id":"1bdfaa55b896a9605cbe1a5445b345ccc30988ad"}]}
