)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"beaa7546ca70150ee6b0e31c331d96dc920a3e82","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add exception catch to image detail API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When the image service is erred, under certain situations"},{"line_number":10,"context_line":"glanceclient may raise a httpinternalerror exception. This 500"},{"line_number":11,"context_line":"exception is not properly handled by nova api. This patch enables"},{"line_number":12,"context_line":"the api to handle this exception properly."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa69d971_447b78f5","line":10,"range":{"start_line":10,"start_character":59,"end_line":10,"end_character":62},"updated":"2016-01-05 19:49:22.000000000","message":"but it\u0027s still a internal error and returned to end user?\nso no difference ?","commit_id":"62c0f4452db68d8b91fbe579f32f4bb44de471b1"},{"author":{"_account_id":14762,"name":"Zhihai Song","email":"zhhsng@gmail.com","username":"ZhihaiSong"},"change_message_id":"343cc57c6ba6597070beb9c44b1eb5b2f90b81cb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add exception catch to image detail API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When the image service is erred, under certain situations"},{"line_number":10,"context_line":"glanceclient may raise a httpinternalerror exception. This 500"},{"line_number":11,"context_line":"exception is not properly handled by nova api. This patch enables"},{"line_number":12,"context_line":"the api to handle this exception properly."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa69d971_95151141","line":10,"range":{"start_line":10,"start_character":59,"end_line":10,"end_character":62},"in_reply_to":"fa69d971_447b78f5","updated":"2016-01-06 02:25:34.000000000","message":"According to the bug report, the glance client could return a 500 error, without this patch this error is unhandled. This patch just handle this error and translate it to a nova exception, instead of telling the user that it is an unexpected error.","commit_id":"62c0f4452db68d8b91fbe579f32f4bb44de471b1"}],"nova/api/openstack/compute/images.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"beaa7546ca70150ee6b0e31c331d96dc920a3e82","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":148,"context_line":"        except exception.InternalError as e:"},{"line_number":149,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation"},{"line_number":150,"context_line":"                                                    \u003de.format_message())"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        req.cache_db_items(\u0027images\u0027, images, \u0027id\u0027)"},{"line_number":153,"context_line":"        return self._view_builder.detail(req, images)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_c46f6829","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":52},"updated":"2016-01-05 19:49:22.000000000","message":"test for this?","commit_id":"62c0f4452db68d8b91fbe579f32f4bb44de471b1"},{"author":{"_account_id":14762,"name":"Zhihai Song","email":"zhhsng@gmail.com","username":"ZhihaiSong"},"change_message_id":"343cc57c6ba6597070beb9c44b1eb5b2f90b81cb","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":148,"context_line":"        except exception.InternalError as e:"},{"line_number":149,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation"},{"line_number":150,"context_line":"                                                    \u003de.format_message())"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        req.cache_db_items(\u0027images\u0027, images, \u0027id\u0027)"},{"line_number":153,"context_line":"        return self._view_builder.detail(req, images)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_551b1973","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":52},"in_reply_to":"fa69d971_c46f6829","updated":"2016-01-06 02:25:34.000000000","message":"Ok, I will add test for this.","commit_id":"62c0f4452db68d8b91fbe579f32f4bb44de471b1"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16dff0be878248d87c1f39b89fef3e60cb669f41","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":148,"context_line":"        except exception.InternalError as e:"},{"line_number":149,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation"},{"line_number":150,"context_line":"                                                    \u003de.format_message())"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        req.cache_db_items(\u0027images\u0027, images, \u0027id\u0027)"},{"line_number":153,"context_line":"        return self._view_builder.detail(req, images)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_0a62ed3d","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":52},"updated":"2016-02-17 19:51:53.000000000","message":"but this is based on incorrect configuration\nnormally this should not occur?\notherwise we should catch every possible internal errors and tell user?","commit_id":"64fdeaa352fe1ca3995268d23eff50eb4943a4b6"},{"author":{"_account_id":14762,"name":"Zhihai Song","email":"zhhsng@gmail.com","username":"ZhihaiSong"},"change_message_id":"1fd8788fac542f83753f50483726339979e34f33","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":148,"context_line":"        except exception.InternalError as e:"},{"line_number":149,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation"},{"line_number":150,"context_line":"                                                    \u003de.format_message())"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        req.cache_db_items(\u0027images\u0027, images, \u0027id\u0027)"},{"line_number":153,"context_line":"        return self._view_builder.detail(req, images)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_523782fe","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":52},"in_reply_to":"dae33548_0a62ed3d","updated":"2016-02-18 02:22:36.000000000","message":"simple to reproduce such exception.\nJust shutdown the glance api service, and try nova image-list.\nThis is not about incorrect configuration. It\u0027s about nova api not handling the exception well when glance service is not functioning properly.","commit_id":"64fdeaa352fe1ca3995268d23eff50eb4943a4b6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c63ffb015db9bba2d20d7edcd6a908e4b6a5d232","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":148,"context_line":"        except exception.InternalError as e:"},{"line_number":149,"context_line":"            raise webob.exc.HTTPInternalServerError(explanation"},{"line_number":150,"context_line":"                                                    \u003de.format_message())"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        req.cache_db_items(\u0027images\u0027, images, \u0027id\u0027)"},{"line_number":153,"context_line":"        return self._view_builder.detail(req, images)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_507f12aa","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":52},"in_reply_to":"dae33548_523782fe","updated":"2016-03-01 22:28:24.000000000","message":"I don\u0027t see the merit of this change.\n\nWhat is the purpose to notice glance internal error to API users?\nThere is nothing API users can do for this situation, and the detail information seems redundant and makes them more confused.","commit_id":"64fdeaa352fe1ca3995268d23eff50eb4943a4b6"}]}
