)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"5a5c7f74ba7ce49627d473e29b25d6e1e82c1768","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add common function for v2.1 API flavor_get."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are objects.Flaovr.get_by_flavor_id function in API layer"},{"line_number":10,"context_line":"we need to catch FlavorNotFound every time. This patch make a"},{"line_number":11,"context_line":"common function and catch FlavorNotFound in V2.1 API"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a80dd14_e0a86479","line":9,"updated":"2015-03-12 10:27:25.000000000","message":"/s/Flaovr/Flavor","commit_id":"4248a05d08852fcdcb601105f8c28fb0886bed22"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"d9f4712d83e5ef2971fea6a47734e9eacbd49e23","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add common function for v2.1 API flavor_get."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are objects.Flaovr.get_by_flavor_id function in API layer"},{"line_number":10,"context_line":"we need to catch FlavorNotFound every time. This patch make a"},{"line_number":11,"context_line":"common function and catch FlavorNotFound in V2.1 API"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1aca2d91_98f84c4b","line":9,"updated":"2015-05-07 14:29:20.000000000","message":"/s/Flaovr/Flavor","commit_id":"6d36dbbd7658de094a4d853fca8644202cd75b96"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d86b4d22659c5d64a7e9442a0333eb6efad05acb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jichenjc \u003cjichenjc@cn.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-31 12:50:18 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add common function for v2.1 API flavor_get."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There are objects.Flaovr.get_by_flavor_id function in API layer"},{"line_number":10,"context_line":"we need to catch FlavorNotFound every time. This patch make a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"1af86dd1_d2ba5ac0","line":7,"updated":"2015-06-12 00:09:32.000000000","message":"\u0027.\u0027 should be removed when you have to another patchset.","commit_id":"98404322cafa8328d454910057d3b24ec41ab05e"}],"nova/api/openstack/compute/plugins/v3/flavors_extraspecs.py":[{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"cc7c888ba8a9b6ede36a58dd10f8b31d15980302","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            flavor.save()"},{"line_number":77,"context_line":"        except exception.FlavorExtraSpecUpdateCreateFailed as e:"},{"line_number":78,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":79,"context_line":"        except exception.FlavorNotFound as e:"},{"line_number":80,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":81,"context_line":"        return body"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_ad878bd6","line":79,"updated":"2014-12-16 08:16:46.000000000","message":"This exception could be removed","commit_id":"1c17809b3dd0e40909c8e41b55bd1296c3790ab8"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"151eef740366bf14fd92b12dff6fb97d5c398b8f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            flavor.save()"},{"line_number":77,"context_line":"        except exception.FlavorExtraSpecUpdateCreateFailed as e:"},{"line_number":78,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":79,"context_line":"        except exception.FlavorNotFound as e:"},{"line_number":80,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":81,"context_line":"        return body"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_f83cefc1","line":79,"in_reply_to":"3a961159_ad878bd6","updated":"2014-12-16 08:25:42.000000000","message":"Same with patch https://review.openstack.org/#/c/136567/, so remove the -1","commit_id":"1c17809b3dd0e40909c8e41b55bd1296c3790ab8"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"cc7c888ba8a9b6ede36a58dd10f8b31d15980302","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            flavor.save()"},{"line_number":97,"context_line":"        except exception.FlavorExtraSpecUpdateCreateFailed as e:"},{"line_number":98,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":99,"context_line":"        except exception.FlavorNotFound as e:"},{"line_number":100,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":101,"context_line":"        return body"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_8d59ef90","line":99,"updated":"2014-12-16 08:16:46.000000000","message":"ditto","commit_id":"1c17809b3dd0e40909c8e41b55bd1296c3790ab8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"aaa6b78a355d439b6e51b8d532ddeeec0cc7cde4","unresolved":false,"context_lines":[{"line_number":129,"context_line":"            del flavor.extra_specs[id]"},{"line_number":130,"context_line":"            flavor.save()"},{"line_number":131,"context_line":"        except (exception.FlavorExtraSpecsNotFound,"},{"line_number":132,"context_line":"                exception.FlavorNotFound) as e:"},{"line_number":133,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":134,"context_line":"        except KeyError:"},{"line_number":135,"context_line":"            msg \u003d _(\"Flavor %(flavor_id)s has no extra specs with \""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a0c5dc1_69c73c46","side":"PARENT","line":132,"updated":"2015-05-12 09:09:57.000000000","message":"this should be keep. because  flavor.save() may raise FlavorNotFound.","commit_id":"66b78dcd54bc6fc48906abc899f1574f5a367ad6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a8a301b7775096ab5b3296211ce2d8b9fdd81c21","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            flavor.save()"},{"line_number":77,"context_line":"        except exception.FlavorExtraSpecUpdateCreateFailed as e:"},{"line_number":78,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":79,"context_line":"        except exception.FlavorNotFound as e:"},{"line_number":80,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":81,"context_line":"        return body"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7a016987_4e0560c0","line":79,"updated":"2015-05-27 14:23:23.000000000","message":"This case is already covered with common.get_flavor().\nSo we can remove line79-80.","commit_id":"a406e7d5bbf36c9ff8a5ebdc26599920a042f5ff"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a8a301b7775096ab5b3296211ce2d8b9fdd81c21","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        except exception.FlavorExtraSpecUpdateCreateFailed as e:"},{"line_number":98,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003de.format_message())"},{"line_number":99,"context_line":"        except exception.FlavorNotFound as e:"},{"line_number":100,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":101,"context_line":"        return body"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    @extensions.expected_errors(404)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a016987_ee11ac05","line":100,"updated":"2015-05-27 14:23:23.000000000","message":"ditto","commit_id":"a406e7d5bbf36c9ff8a5ebdc26599920a042f5ff"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"a8a301b7775096ab5b3296211ce2d8b9fdd81c21","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            del flavor.extra_specs[id]"},{"line_number":128,"context_line":"            flavor.save()"},{"line_number":129,"context_line":"        except (exception.FlavorExtraSpecsNotFound,"},{"line_number":130,"context_line":"                exception.FlavorNotFound) as e:"},{"line_number":131,"context_line":"            raise webob.exc.HTTPNotFound(explanation\u003de.format_message())"},{"line_number":132,"context_line":"        except KeyError:"},{"line_number":133,"context_line":"            msg \u003d _(\"Flavor %(flavor_id)s has no extra specs with \""}],"source_content_type":"text/x-python","patch_set":15,"id":"7a016987_6efedcaf","line":130,"updated":"2015-05-27 14:23:23.000000000","message":"ditto: line 130","commit_id":"a406e7d5bbf36c9ff8a5ebdc26599920a042f5ff"}]}
