)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"4455215204b8e1b81d33a733e99547a48134f3c5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add default policy check for limits extension in API layer"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie8cd4f1d90dad2a1118b636e3f5d46f9968731b7"},{"line_number":12,"context_line":"Close-Bug:#1415289"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aaa499b_4b830d57","line":12,"updated":"2015-04-14 06:08:00.000000000","message":"should be : Closes-Bug: 1415289","commit_id":"d26d6dddee63ac54320de6c312964e6039e59ad4"},{"author":{"_account_id":11530,"name":"zhangtralon","email":"ztralon@hotmail.com","username":"zhangtralon"},"change_message_id":"4447f0685b442414be444a5b6717c9dc3864fd73","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add default policy check for limits extension in API layer"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ie8cd4f1d90dad2a1118b636e3f5d46f9968731b7"},{"line_number":12,"context_line":"Close-Bug:#1415289"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aaa499b_4eaf7194","line":12,"in_reply_to":"7aaa499b_4b830d57","updated":"2015-04-15 03:12:17.000000000","message":"Agree with Eli, may be Closes-Bug: #1415289","commit_id":"d26d6dddee63ac54320de6c312964e6039e59ad4"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"5126f6f9eda3dbc1ed8f80b075a4d7b3257c8d27","unresolved":false,"context_lines":[{"line_number":11,"context_line":"requirement."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ie8cd4f1d90dad2a1118b636e3f5d46f9968731b7"},{"line_number":14,"context_line":"Closes-Bug:#1415289"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dac4157f_b402cf09","line":14,"updated":"2015-04-22 10:33:26.000000000","message":"nit: require a space after \":\"","commit_id":"d287282a1d64fb9d73bf63c0e5ec9fc3f3830472"}],"nova/api/openstack/compute/plugins/v3/limits.py":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"4455215204b8e1b81d33a733e99547a48134f3c5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \"\"\"Return all global and rate limit information.\"\"\""},{"line_number":34,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":35,"context_line":"        project_id \u003d req.params.get(\u0027tenant_id\u0027, context.project_id)"},{"line_number":36,"context_line":"        authorize(context)"},{"line_number":37,"context_line":"        quotas \u003d QUOTAS.get_project_quotas(context, project_id,"},{"line_number":38,"context_line":"                                           usages\u003dFalse)"},{"line_number":39,"context_line":"        abs_limits \u003d {k: v[\u0027limit\u0027] for k, v in quotas.items()}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_ab92919d","line":36,"updated":"2015-04-14 06:08:00.000000000","message":"move to line 35, before get project_id , so that the permission check will be early.","commit_id":"d26d6dddee63ac54320de6c312964e6039e59ad4"}],"nova/tests/unit/fake_policy.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b08e432dd1459ba6c622ce7baa3df43de5edef71","unresolved":false,"context_lines":[{"line_number":349,"context_line":"    \"compute_extension:availability_zone:detail\": \"\","},{"line_number":350,"context_line":"    \"os_compute_api:os-availability-zone:detail\": \"\","},{"line_number":351,"context_line":"    \"compute_extension:used_limits_for_admin\": \"is_admin:True\","},{"line_number":352,"context_line":"    \"compute_extension:limits\": \"is_admin:True\","},{"line_number":353,"context_line":"    \"os_compute_api:os-used-limits\": \"is_admin:True\","},{"line_number":354,"context_line":"    \"compute_extension:migrations:index\": \"is_admin:True\","},{"line_number":355,"context_line":"    \"os_compute_api:os-migrations:index\": \"is_admin:True\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_80732f15","line":352,"updated":"2015-04-14 07:38:01.000000000","message":"There should be \"compute_extension:limits\": \"\" , I hope the unittest is unwind","commit_id":"d26d6dddee63ac54320de6c312964e6039e59ad4"},{"author":{"_account_id":11530,"name":"zhangtralon","email":"ztralon@hotmail.com","username":"zhangtralon"},"change_message_id":"4447f0685b442414be444a5b6717c9dc3864fd73","unresolved":false,"context_lines":[{"line_number":349,"context_line":"    \"compute_extension:availability_zone:detail\": \"\","},{"line_number":350,"context_line":"    \"os_compute_api:os-availability-zone:detail\": \"\","},{"line_number":351,"context_line":"    \"compute_extension:used_limits_for_admin\": \"is_admin:True\","},{"line_number":352,"context_line":"    \"compute_extension:limits\": \"is_admin:True\","},{"line_number":353,"context_line":"    \"os_compute_api:os-used-limits\": \"is_admin:True\","},{"line_number":354,"context_line":"    \"compute_extension:migrations:index\": \"is_admin:True\","},{"line_number":355,"context_line":"    \"os_compute_api:os-migrations:index\": \"is_admin:True\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_2ed0a51e","line":352,"in_reply_to":"7aaa499b_80732f15","updated":"2015-04-15 03:12:17.000000000","message":"To the admin api, this way looks good. may be I miss something. @Alex","commit_id":"d26d6dddee63ac54320de6c312964e6039e59ad4"}]}
