)]}'
{"nova/api/openstack/compute/plugins/v3/evacuate.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c2652fb5afdd761053f592d854ba3320cfce4fbf","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        try:"},{"line_number":46,"context_line":"            if len(body) !\u003d 1:"},{"line_number":47,"context_line":"                raise exc.HTTPBadRequest(_(\"Malformed request body\"))"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"            evacuate_body \u003d body[\"evacuate\"]"},{"line_number":50,"context_line":"            host \u003d evacuate_body[\"host\"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fn08%3D","line":47,"updated":"2013-06-14 06:03:09.000000000","message":"I feel the range of try-except(line 45-66) is wide.\nHow about shrinking it to line 49-53?","commit_id":"37cf3b63b4fc4bb9a5951a500cbebfbf9e238676"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c2652fb5afdd761053f592d854ba3320cfce4fbf","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        except (TypeError, KeyError):"},{"line_number":67,"context_line":"            msg \u003d _(\"host and onSharedStorage must be specified.\")"},{"line_number":68,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        try:"},{"line_number":71,"context_line":"            instance \u003d self.compute_api.get(context, id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fn1E%3D","line":68,"updated":"2013-06-14 06:03:09.000000000","message":"According to http://api.openstack.org/api-ref.html, onSharedStorage is optional. but the above code requires specifying it.\n\nSo we need to change the API document or this validation code.","commit_id":"37cf3b63b4fc4bb9a5951a500cbebfbf9e238676"}],"nova/tests/api/openstack/compute/plugins/v3/test_evacuate.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"a93e9e2750e38ad119743be7dc19d94eb2503db3","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        ctxt.project_id \u003d \u0027fake\u0027"},{"line_number":77,"context_line":"        ctxt.is_admin \u003d True"},{"line_number":78,"context_line":"        app \u003d fakes.wsgi_app(fake_auth_context\u003dctxt)"},{"line_number":79,"context_line":"        uuid \u003d self.UUID"},{"line_number":80,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/fake/servers/%s/action\u0027 % uuid)"},{"line_number":81,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":82,"context_line":"        req.body \u003d jsonutils.dumps({"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2F2JY%3D","line":79,"updated":"2013-06-07 17:43:33.000000000","message":"Shadowing the import here.  Maybe uuid1?","commit_id":"37cf3b63b4fc4bb9a5951a500cbebfbf9e238676"}]}
