)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"5cb1fde3928185c60ceb49dea02ff6389a49fee1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit does the following:"},{"line_number":10,"context_line":"    - Moves default grant policies into code"},{"line_number":11,"context_line":"    - Moves default implied_role policies into code"},{"line_number":12,"context_line":"    - Moves default policy policies into code"},{"line_number":13,"context_line":"    - Moves default role policies into code"},{"line_number":14,"context_line":"    - Moves default role_assignment policies into code"},{"line_number":15,"context_line":"    - Moves default token_revocation policies into code"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da36d5c6_001c6a76","line":12,"updated":"2017-02-28 21:47:06.000000000","message":"We should synergize our policy so that we can enforce policy via policy!","commit_id":"6462ffe1350edab4f6062dcdcb3f1c3f1a00f345"}],"keystone/common/policies/base.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"0f438198acd3b82d545825655c6b89a2c640b37e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                                \u0027project_id:%(target.project.id)s\u0027)"},{"line_number":25,"context_line":"RULE_ADMIN_OR_TOKEN_SUBJECT \u003d \u0027rule:admin_or_token_subject\u0027"},{"line_number":26,"context_line":"RULE_SERVICE_ADMIN_OR_TOKEN_SUBJECT \u003d \u0027rule:service_admin_or_token_subject\u0027"},{"line_number":27,"context_line":"RULE_ADMIN_OR_SERVICE \u003d \u0027rule:service_or_admin\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"3a1ff146_b5a49157","line":27,"updated":"2017-03-15 16:58:13.000000000","message":"To be consistent with other naming conventions in this file I would expect this to read: \n\n  RULE_SERVICE_OR_ADMIN \u003d \u0027rule:service_or_admin\u0027\n\nBut this is something can be done in a follow up if another patch set isn\u0027t pushed.","commit_id":"7e45eaecf537c649a4ffe5a8040d3bf25da19ddb"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"da94215c403764e182157bdfe43fd77ffa3a1473","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                                \u0027project_id:%(target.project.id)s\u0027)"},{"line_number":25,"context_line":"RULE_ADMIN_OR_TOKEN_SUBJECT \u003d \u0027rule:admin_or_token_subject\u0027"},{"line_number":26,"context_line":"RULE_SERVICE_ADMIN_OR_TOKEN_SUBJECT \u003d \u0027rule:service_admin_or_token_subject\u0027"},{"line_number":27,"context_line":"RULE_ADMIN_OR_SERVICE \u003d \u0027rule:service_or_admin\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"3a1ff146_301eefba","line":27,"in_reply_to":"3a1ff146_b5a49157","updated":"2017-03-15 17:13:06.000000000","message":"Done","commit_id":"7e45eaecf537c649a4ffe5a8040d3bf25da19ddb"}],"keystone/policies/token_revocation.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d7c9657eb3758ad69ef49e14a5416aae5689028b","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"token_revocation_policies \u003d ["},{"line_number":18,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027check_token\u0027,"},{"line_number":19,"context_line":"                       check_str\u003d\u0027rule:admin_or_token_subject\u0027),"},{"line_number":20,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token\u0027,"},{"line_number":21,"context_line":"                       check_str\u003d\u0027rule:service_admin_or_token_subject\u0027),"},{"line_number":22,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token_head\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_673a8538","line":19,"updated":"2017-02-20 16:40:17.000000000","message":"We could pull this out into a separate variable since it\u0027s used twice in this module. \n\n  RULE_ADMIN_OR_TOKEN_SUBJECT \u003d \u0027rule:admin_or_token_subject\u0027","commit_id":"71a0d44346138109a58b4bcab0da31c3ae859493"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"a672e604eec54a2d20555d7b52b779df1fc78373","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"token_revocation_policies \u003d ["},{"line_number":18,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027check_token\u0027,"},{"line_number":19,"context_line":"                       check_str\u003d\u0027rule:admin_or_token_subject\u0027),"},{"line_number":20,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token\u0027,"},{"line_number":21,"context_line":"                       check_str\u003d\u0027rule:service_admin_or_token_subject\u0027),"},{"line_number":22,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token_head\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_42cc8f35","line":19,"in_reply_to":"da36d5c6_673a8538","updated":"2017-02-20 17:15:24.000000000","message":"Done","commit_id":"71a0d44346138109a58b4bcab0da31c3ae859493"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d7c9657eb3758ad69ef49e14a5416aae5689028b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token\u0027,"},{"line_number":21,"context_line":"                       check_str\u003d\u0027rule:service_admin_or_token_subject\u0027),"},{"line_number":22,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token_head\u0027,"},{"line_number":23,"context_line":"                       check_str\u003d\u0027rule:service_or_admin\u0027),"},{"line_number":24,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027revocation_list\u0027,"},{"line_number":25,"context_line":"                       check_str\u003d\u0027rule:service_or_admin\u0027),"},{"line_number":26,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027revoke_token\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_e74675be","line":23,"updated":"2017-02-20 16:40:17.000000000","message":"Same comment here. We could apply that same pattern to all of these, even if they are used only once.","commit_id":"71a0d44346138109a58b4bcab0da31c3ae859493"},{"author":{"_account_id":18464,"name":"Richard Avelar","email":"csravelar@gmail.com","username":"razone"},"change_message_id":"a672e604eec54a2d20555d7b52b779df1fc78373","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token\u0027,"},{"line_number":21,"context_line":"                       check_str\u003d\u0027rule:service_admin_or_token_subject\u0027),"},{"line_number":22,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027validate_token_head\u0027,"},{"line_number":23,"context_line":"                       check_str\u003d\u0027rule:service_or_admin\u0027),"},{"line_number":24,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027revocation_list\u0027,"},{"line_number":25,"context_line":"                       check_str\u003d\u0027rule:service_or_admin\u0027),"},{"line_number":26,"context_line":"    policy.RuleDefault(name\u003dbase.IDENTITY % \u0027revoke_token\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_22c79b13","line":23,"in_reply_to":"da36d5c6_e74675be","updated":"2017-02-20 17:15:24.000000000","message":"Done","commit_id":"71a0d44346138109a58b4bcab0da31c3ae859493"}]}
