)]}'
{"etc/nova/policy.d/00-os-compute-api.conf":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c6d5b1128394617b1ec6e3ee65e40aba22b0edd4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os_compute_api:servers:start\": \"rule:admin_or_owner\","},{"line_number":3,"context_line":"    \"os_compute_api:servers:stop\": \"rule:admin_or_owner\","},{"line_number":4,"context_line":"    \"os_compute_api:os-access-ips:discoverable\": \"\","}],"source_content_type":"text/plain","patch_set":11,"id":"9a80dd14_b4f15297","line":1,"updated":"2015-03-18 11:53:58.000000000","message":"I feel like this file needs comments on it to describe it to users, being just a big random blob seems bad.","commit_id":"213e2c27e8942374093179f75c62c776d5afd0ed"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8529fcdebc934fc9a63c80f12880b7d242c714c1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"os_compute_api:servers:start\": \"rule:admin_or_owner\","},{"line_number":3,"context_line":"    \"os_compute_api:servers:stop\": \"rule:admin_or_owner\","},{"line_number":4,"context_line":"    \"os_compute_api:os-access-ips:discoverable\": \"\","}],"source_content_type":"text/plain","patch_set":11,"id":"9a80dd14_65472678","line":1,"in_reply_to":"9a80dd14_b4f15297","updated":"2015-03-18 13:19:06.000000000","message":"emm...., actually I want to add comment also. But I tried, looks like json doesn\u0027t support comment.\n\nI google it, there are someone suggestion add item in the json as comment\nhttp://stackoverflow.com/questions/244777/can-i-comment-a-json-file\n\nSo it will looks like:\n\n{\n     \"comment:This file is used to v2.1 api......\": \"\",\n  \n     \"os_compute_api:servers:start\": \"rule:admin_or_owner\",\n}\n\nDo you like this way?\n\nIf we want to make it better, we should make oslo.policy ignore the rule called \u0027comment\u0027. So it can be:\n\n\"comment\": \"This file is used to v2.1 api.....\",","commit_id":"213e2c27e8942374093179f75c62c776d5afd0ed"}],"nova/api/openstack/extensions.py":[{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"810afb29b40d8cb3f9b04d4b43f398c434de8a47","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    if core:"},{"line_number":407,"context_line":"        return soft_core_authorizer(\u0027os_compute_api\u0027, \u0027%s\u0027 % extension_name)"},{"line_number":408,"context_line":"    else:"},{"line_number":409,"context_line":"        return soft_extension_authorizer(\u0027os_compute_api\u0027, \u0027%s\u0027 % extension_name)"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa81d914_7893714f","line":409,"updated":"2015-01-28 21:48:31.000000000","message":"E501 line too long (81 \u003e 79 characters)","commit_id":"46c3ff77549f350faad8ac126eda227f440f5286"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e4dfa41460d2e4d7ac0a7b062193c977d87f292d","unresolved":false,"context_lines":[{"line_number":395,"context_line":"# deleted, because there isn\u0027t distinguish between core or extension API in"},{"line_number":396,"context_line":"# the future."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"def os_compute_authorizer(extension_name, core\u003dFalse):"},{"line_number":399,"context_line":"    return core_authorizer(\u0027os_compute_api\u0027, extension_name)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_6e285e86","line":398,"updated":"2015-03-16 11:54:34.000000000","message":"I wonder if we want to try stop people passing in core, but thats probably best as a separate tidy up patch.","commit_id":"f233ea8815cc5486464ca4ecf4d8983a86aa13b8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"23ffa13ccd862114d95ec2595e8dc51cf8261c75","unresolved":false,"context_lines":[{"line_number":395,"context_line":"# deleted, because there isn\u0027t distinguish between core or extension API in"},{"line_number":396,"context_line":"# the future."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"def os_compute_authorizer(extension_name, core\u003dFalse):"},{"line_number":399,"context_line":"    return core_authorizer(\u0027os_compute_api\u0027, extension_name)"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_01e330a4","line":398,"in_reply_to":"9a80dd14_6e285e86","updated":"2015-03-16 14:06:17.000000000","message":"yes, John, you are right. I will cleanup them separately. Include some useless policy check helper functions before this link","commit_id":"f233ea8815cc5486464ca4ecf4d8983a86aa13b8"}]}
