)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"671ce24436a24dceceba6f61870475b7116859d5","unresolved":false,"context_lines":[{"line_number":11,"context_line":"connection it passes in an empty dict as the connector:"},{"line_number":12,"context_line":"self.volume_api.terminate_connection(context, volume, {}, force\u003dTrue)"},{"line_number":13,"context_line":"This patch pulls the connector out of the body of the request, and"},{"line_number":14,"context_line":"throws and exception if it is missing."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I14990eb4f42283231e4249a81d0b7fa18a8dfeae"},{"line_number":17,"context_line":"Closes-Bug:#1485766"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa1b9901_c8c61b49","line":14,"updated":"2015-08-18 13:59:18.000000000","message":"and-\u003ean","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"b26c6d85202560d9aa7709b9f1c084897d6f439d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"connection it passes in an empty dict as the connector:"},{"line_number":12,"context_line":"self.volume_api.terminate_connection(context, volume, {}, force\u003dTrue)"},{"line_number":13,"context_line":"This patch pulls the connector out of the body of the request, and"},{"line_number":14,"context_line":"throws and exception if it is missing."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I14990eb4f42283231e4249a81d0b7fa18a8dfeae"},{"line_number":17,"context_line":"Closes-Bug:#1485766"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa1b9901_9f2b7494","line":14,"in_reply_to":"fa1b9901_c8c61b49","updated":"2015-08-18 16:27:26.000000000","message":"Done","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"}],"cinder/api/contrib/admin_actions.py":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"671ce24436a24dceceba6f61870475b7116859d5","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            connector \u003d body[\u0027os-force_detach\u0027].get(\u0027connector\u0027, None)"},{"line_number":190,"context_line":"        except KeyError:"},{"line_number":191,"context_line":"            raise webob.exc.HTTPBadRequest("},{"line_number":192,"context_line":"                explanation\u003d_(\"Must specify \u0027connector\u0027\"))"},{"line_number":193,"context_line":"        try:"},{"line_number":194,"context_line":"            self.volume_api.terminate_connection(context, volume, connector)"},{"line_number":195,"context_line":"        except exception.VolumeBackendAPIException as error:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_68aeef86","line":192,"updated":"2015-08-18 13:59:18.000000000","message":"\".\" at EOL","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"b26c6d85202560d9aa7709b9f1c084897d6f439d","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            connector \u003d body[\u0027os-force_detach\u0027].get(\u0027connector\u0027, None)"},{"line_number":190,"context_line":"        except KeyError:"},{"line_number":191,"context_line":"            raise webob.exc.HTTPBadRequest("},{"line_number":192,"context_line":"                explanation\u003d_(\"Must specify \u0027connector\u0027\"))"},{"line_number":193,"context_line":"        try:"},{"line_number":194,"context_line":"            self.volume_api.terminate_connection(context, volume, connector)"},{"line_number":195,"context_line":"        except exception.VolumeBackendAPIException as error:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_1f3f64d7","line":192,"in_reply_to":"fa1b9901_68aeef86","updated":"2015-08-18 16:27:26.000000000","message":"Done","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"adac03a78356d714a4a39bd98a1a24cdba35aaf4","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            self.volume_api.terminate_connection(context, volume, connector)"},{"line_number":195,"context_line":"        except exception.VolumeBackendAPIException as error:"},{"line_number":196,"context_line":"            msg \u003d _(\"Unable to terminate volume connection from backend.\")"},{"line_number":197,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation\u003dmsg)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        attachment_id \u003d body[\u0027os-force_detach\u0027].get(\u0027attachment_id\u0027, None)"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_91a92e7e","line":197,"updated":"2015-08-18 14:49:10.000000000","message":"We need unit testing for these try statements.","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"b26c6d85202560d9aa7709b9f1c084897d6f439d","unresolved":false,"context_lines":[{"line_number":194,"context_line":"            self.volume_api.terminate_connection(context, volume, connector)"},{"line_number":195,"context_line":"        except exception.VolumeBackendAPIException as error:"},{"line_number":196,"context_line":"            msg \u003d _(\"Unable to terminate volume connection from backend.\")"},{"line_number":197,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation\u003dmsg)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        attachment_id \u003d body[\u0027os-force_detach\u0027].get(\u0027attachment_id\u0027, None)"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_bf2678cc","line":197,"in_reply_to":"fa1b9901_91a92e7e","updated":"2015-08-18 16:27:26.000000000","message":"Done","commit_id":"c1cc26cea1739f458d0aeca315ff310b6fa9fc11"}],"cinder/tests/unit/api/contrib/test_admin_actions.py":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"01ec5a389048d3a52ef95b47cee8629aee1ab032","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            self.assertEqual(400, resp.status_int)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        # test for KeyError when missing connector"},{"line_number":582,"context_line":"        volume_remote_error \u003d \\"},{"line_number":583,"context_line":"            messaging.RemoteError(exc_type\u003d\u0027KeyError\u0027)"},{"line_number":584,"context_line":"        with mock.patch.object(volume_api.API, \u0027detach\u0027,"},{"line_number":585,"context_line":"                               side_effect\u003dvolume_remote_error):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_9aa3749e","line":582,"updated":"2015-08-24 20:12:47.000000000","message":"Could you use () instead of \\.","commit_id":"648cf7eaea6e978f43308340267b455ba5c893e3"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"b52e9ba2d935e856b35b92ccbd4c48fef46adbed","unresolved":false,"context_lines":[{"line_number":579,"context_line":"            self.assertEqual(400, resp.status_int)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"        # test for KeyError when missing connector"},{"line_number":582,"context_line":"        volume_remote_error \u003d \\"},{"line_number":583,"context_line":"            messaging.RemoteError(exc_type\u003d\u0027KeyError\u0027)"},{"line_number":584,"context_line":"        with mock.patch.object(volume_api.API, \u0027detach\u0027,"},{"line_number":585,"context_line":"                               side_effect\u003dvolume_remote_error):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_4de76440","line":582,"in_reply_to":"fa1b9901_9aa3749e","updated":"2015-08-24 20:25:28.000000000","message":"Done","commit_id":"648cf7eaea6e978f43308340267b455ba5c893e3"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"01ec5a389048d3a52ef95b47cee8629aee1ab032","unresolved":false,"context_lines":[{"line_number":597,"context_line":"                              app())"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        # test for VolumeBackendAPIException"},{"line_number":600,"context_line":"        volume_remote_error \u003d \\"},{"line_number":601,"context_line":"            messaging.RemoteError(exc_type\u003d\u0027VolumeBackendAPIException\u0027)"},{"line_number":602,"context_line":"        with mock.patch.object(volume_api.API, \u0027detach\u0027,"},{"line_number":603,"context_line":"                               side_effect\u003dvolume_remote_error):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_1ab684dc","line":600,"updated":"2015-08-24 20:12:47.000000000","message":"Same here.","commit_id":"648cf7eaea6e978f43308340267b455ba5c893e3"},{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"b52e9ba2d935e856b35b92ccbd4c48fef46adbed","unresolved":false,"context_lines":[{"line_number":597,"context_line":"                              app())"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        # test for VolumeBackendAPIException"},{"line_number":600,"context_line":"        volume_remote_error \u003d \\"},{"line_number":601,"context_line":"            messaging.RemoteError(exc_type\u003d\u0027VolumeBackendAPIException\u0027)"},{"line_number":602,"context_line":"        with mock.patch.object(volume_api.API, \u0027detach\u0027,"},{"line_number":603,"context_line":"                               side_effect\u003dvolume_remote_error):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_0dd08c52","line":600,"in_reply_to":"fa1b9901_1ab684dc","updated":"2015-08-24 20:25:28.000000000","message":"Done","commit_id":"648cf7eaea6e978f43308340267b455ba5c893e3"}]}
