)]}'
{"etc/policy.v3cloudsample.json":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"beec3931142df7b3f9f5964556dd72f21657328b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    \"admin_on_project_filter\": \"rule:admin_required and project_id:%(scope.project.id)s\","},{"line_number":70,"context_line":"    \"admin_on_domain_of_project_filter\": \"rule:admin_required and domain_id:%(target.project.domain_id)s\","},{"line_number":71,"context_line":"    \"identity:list_role_assignments_for_tree\": \"rule:cloud_admin or rule:admin_on_domain_of_project_filter\","},{"line_number":72,"context_line":"    \"identity:get_policy\": \"rule:cloud_admin\","},{"line_number":73,"context_line":"    \"identity:list_policies\": \"rule:cloud_admin\","},{"line_number":74,"context_line":"    \"identity:create_policy\": \"rule:cloud_admin\","},{"line_number":75,"context_line":"    \"identity:update_policy\": \"rule:cloud_admin\","}],"source_content_type":"application/json","patch_set":5,"id":"5fc1f717_79d8a51d","side":"PARENT","line":72,"updated":"2019-04-02 14:42:40.000000000","message":"Some of these are not redundant, rule:cloud_admin is why we have this file in the first place","commit_id":"af4ec20f83424270974223439ccb591f88fdbcc2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b205ef6ae08eaac311c74ffcd38a277ec59e7bc7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    \"admin_on_project_filter\": \"rule:admin_required and project_id:%(scope.project.id)s\","},{"line_number":70,"context_line":"    \"admin_on_domain_of_project_filter\": \"rule:admin_required and domain_id:%(target.project.domain_id)s\","},{"line_number":71,"context_line":"    \"identity:list_role_assignments_for_tree\": \"rule:cloud_admin or rule:admin_on_domain_of_project_filter\","},{"line_number":72,"context_line":"    \"identity:get_policy\": \"rule:cloud_admin\","},{"line_number":73,"context_line":"    \"identity:list_policies\": \"rule:cloud_admin\","},{"line_number":74,"context_line":"    \"identity:create_policy\": \"rule:cloud_admin\","},{"line_number":75,"context_line":"    \"identity:update_policy\": \"rule:cloud_admin\","}],"source_content_type":"application/json","patch_set":5,"id":"5fc1f717_686bec84","side":"PARENT","line":72,"in_reply_to":"5fc1f717_79d8a51d","updated":"2019-04-02 15:38:46.000000000","message":"Done","commit_id":"af4ec20f83424270974223439ccb591f88fdbcc2"}],"keystone/tests/unit/test_policy.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"645b1bd80824b562f82ff33a5715e8fcd1a8aa19","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        domain_policy \u003d unit.dirs.etc(\u0027policy.v3cloudsample.json\u0027)"},{"line_number":374,"context_line":"        enforcer \u003d common_policy.Enforcer(CONF, policy_file\u003ddomain_policy)"},{"line_number":375,"context_line":"        enforcer.register_defaults(policies.list_rules())"},{"line_number":376,"context_line":"        result \u003d enforcer.enforce(action, target, credentials)"},{"line_number":377,"context_line":"        self.assertTrue(result)"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_335b5586","line":375,"updated":"2019-03-01 19:11:20.000000000","message":"This test was relying on the fact that we were duplicating policies in two different places. When it loaded the policy.v3cloudsample.json policy file, it never loaded the defaults. I noticed this when it randomly failed after removing a policy that was duplicated in both locations.\n\nLet\u0027s make sure we load the default rules and just use what\u0027s in ``policy.v3cloudsample.json`` as overrides until we get those policies fixed.","commit_id":"1dff0b86bd211ebe262ea5404c01efdd30385976"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"78e107b06036ebd7cd35e34ca8312389b453b2dd","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        domain_policy \u003d unit.dirs.etc(\u0027policy.v3cloudsample.json\u0027)"},{"line_number":374,"context_line":"        enforcer \u003d common_policy.Enforcer(CONF, policy_file\u003ddomain_policy)"},{"line_number":375,"context_line":"        enforcer.register_defaults(policies.list_rules())"},{"line_number":376,"context_line":"        result \u003d enforcer.enforce(action, target, credentials)"},{"line_number":377,"context_line":"        self.assertTrue(result)"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_c36f9626","line":375,"in_reply_to":"9fdfeff1_335b5586","updated":"2019-03-01 23:29:31.000000000","message":"We might need to just make it a base-functionality thing in all tests.","commit_id":"1dff0b86bd211ebe262ea5404c01efdd30385976"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9144d7180fcfccf4bfc788f15408db7a043482d4","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"        domain_policy \u003d unit.dirs.etc(\u0027policy.v3cloudsample.json\u0027)"},{"line_number":374,"context_line":"        enforcer \u003d common_policy.Enforcer(CONF, policy_file\u003ddomain_policy)"},{"line_number":375,"context_line":"        enforcer.register_defaults(policies.list_rules())"},{"line_number":376,"context_line":"        result \u003d enforcer.enforce(action, target, credentials)"},{"line_number":377,"context_line":"        self.assertTrue(result)"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_42d95754","line":375,"in_reply_to":"9fdfeff1_c36f9626","updated":"2019-03-03 16:48:48.000000000","message":"Yeah, or something that the policy fixture  handles, maybe?","commit_id":"1dff0b86bd211ebe262ea5404c01efdd30385976"}],"releasenotes/notes/bug-1806762-c3bfc71cb9bb94f3.yaml":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"3f3fe4125be8be2e5fd3f69fe9a7c139eb34fb3b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    that policy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    All policies in ``policy.v3cloudsample.json`` that are redundant with the"},{"line_number":15,"context_line":"    defaults in code have been removed. This reduces maintainability and"},{"line_number":16,"context_line":"    leaves the ``policy.v3cloudsample.json`` policy file with only"},{"line_number":17,"context_line":"    overrides. These overrides will eventually be moved into code or new"},{"line_number":18,"context_line":"    defaults in keystone directly. If you\u0027re using the policies removed"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5fc1f717_68f1ac95","line":15,"range":{"start_line":15,"start_character":40,"end_line":15,"end_character":68},"updated":"2019-04-02 15:49:58.000000000","message":"Confusing note - this change *improves* maintainability","commit_id":"a4615942a41ae7c7cd29320a59997dbe1a3b4602"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"faacbf1d9e14691ad21fbad17c597e0b2a904caa","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    that policy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    All policies in ``policy.v3cloudsample.json`` that are redundant with the"},{"line_number":15,"context_line":"    defaults in code have been removed. This reduces maintainability and"},{"line_number":16,"context_line":"    leaves the ``policy.v3cloudsample.json`` policy file with only"},{"line_number":17,"context_line":"    overrides. These overrides will eventually be moved into code or new"},{"line_number":18,"context_line":"    defaults in keystone directly. If you\u0027re using the policies removed"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5fc1f717_e8803cc2","line":15,"range":{"start_line":15,"start_character":40,"end_line":15,"end_character":68},"in_reply_to":"5fc1f717_68f1ac95","updated":"2019-04-02 15:53:24.000000000","message":"Good catch. Done.","commit_id":"a4615942a41ae7c7cd29320a59997dbe1a3b4602"}]}
