)]}'
{"designate/common/policies/zone.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a1d11f33ac194f0fe4e6e23ea9c2e10321f313ff","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"rules \u003d ["},{"line_number":24,"context_line":"    policy.RuleDefault("},{"line_number":25,"context_line":"        \"create_zone\","},{"line_number":26,"context_line":"        base.RULE_ADMIN_OR_OWNER),"},{"line_number":27,"context_line":"    policy.RuleDefault("}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_398e97d0","line":24,"range":{"start_line":24,"start_character":11,"end_line":24,"end_character":22},"updated":"2017-10-04 16:54:36.000000000","message":"Same comment as in the previous patches.","commit_id":"53963305b15e32dce0b5bbd47dfc27bb072d1095"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6a6d64f718ebedd5bae44bf3b8676ed43d5c1af2","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"rules \u003d ["},{"line_number":24,"context_line":"    policy.RuleDefault("},{"line_number":25,"context_line":"        \"create_zone\","},{"line_number":26,"context_line":"        base.RULE_ADMIN_OR_OWNER),"},{"line_number":27,"context_line":"    policy.RuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"5f4e5783_ede5e739","line":24,"range":{"start_line":24,"start_character":11,"end_line":24,"end_character":22},"updated":"2017-10-10 14:43:27.000000000","message":"Same comment here about using DocumentedRuleDefault instead of RuleDefault.","commit_id":"3e82cba3e9beccdffe2696194e4ad36533bb1138"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c4b3a73fd39032b386bdfb2bba0abed0eb017549","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            }"},{"line_number":33,"context_line":"        ]"},{"line_number":34,"context_line":"    ),"},{"line_number":35,"context_line":"    policy.RuleDefault("},{"line_number":36,"context_line":"        name\u003d\"get_zones\","},{"line_number":37,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER"},{"line_number":38,"context_line":"    ),"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f4e5783_a1e75cac","line":35,"range":{"start_line":35,"start_character":11,"end_line":35,"end_character":22},"updated":"2017-10-16 15:55:05.000000000","message":"These must be RPC specific policies?","commit_id":"3311ab6e695e00f5b5b6243cde909b7a6969a4ad"}],"designate/common/policies/zone_import.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c4b3a73fd39032b386bdfb2bba0abed0eb017549","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":56,"context_line":"        name\u003d\"update_zone_import\","},{"line_number":57,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":58,"context_line":"        description\u003d\"Show a Tsigkey\","},{"line_number":59,"context_line":"        operations\u003d["},{"line_number":60,"context_line":"            {"},{"line_number":61,"context_line":"                \u0027path\u0027: \u0027/v2/zones/tasks/imports\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f4e5783_61b3a499","line":58,"range":{"start_line":58,"start_character":20,"end_line":58,"end_character":36},"updated":"2017-10-16 15:55:05.000000000","message":"This seems like it might be the wrong description for this API?","commit_id":"3311ab6e695e00f5b5b6243cde909b7a6969a4ad"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"04d8d7543330d8da1701068c53faaabdf4bd4d7d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":56,"context_line":"        name\u003d\"update_zone_import\","},{"line_number":57,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":58,"context_line":"        description\u003d\"Show a Tsigkey\","},{"line_number":59,"context_line":"        operations\u003d["},{"line_number":60,"context_line":"            {"},{"line_number":61,"context_line":"                \u0027path\u0027: \u0027/v2/zones/tasks/imports\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f4e5783_4692f04d","line":58,"range":{"start_line":58,"start_character":20,"end_line":58,"end_character":36},"in_reply_to":"5f4e5783_61b3a499","updated":"2017-10-17 02:22:22.000000000","message":"My bad, I just copied and forgot to check this ;)","commit_id":"3311ab6e695e00f5b5b6243cde909b7a6969a4ad"}],"designate/common/policies/zone_transfer_accept.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6a6d64f718ebedd5bae44bf3b8676ed43d5c1af2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"rules \u003d ["},{"line_number":24,"context_line":"    policy.RuleDefault("},{"line_number":25,"context_line":"        \"create_zone_transfer_accept\","},{"line_number":26,"context_line":"        \"rule:admin_or_owner or tenant:%(target_tenant_id)s or None:%(target_tenant_id)s\"),  # noqa"},{"line_number":27,"context_line":"    policy.RuleDefault("},{"line_number":28,"context_line":"        \"get_zone_transfer_accept\","},{"line_number":29,"context_line":"        base.RULE_ADMIN_OR_OWNER),"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f4e5783_2dc53f8f","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":89},"updated":"2017-10-10 14:43:27.000000000","message":"Pulling this into a dedicated variable with a nice name would help readability. Especially since it\u0027s used in a couple different places (we could put it in base.py and import it).","commit_id":"3e82cba3e9beccdffe2696194e4ad36533bb1138"}],"designate/common/policies/zone_transfer_request.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6a6d64f718ebedd5bae44bf3b8676ed43d5c1af2","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        base.RULE_ADMIN_OR_OWNER),"},{"line_number":27,"context_line":"    policy.RuleDefault("},{"line_number":28,"context_line":"        \"get_zone_transfer_request\","},{"line_number":29,"context_line":"        \"rule:admin_or_owner or tenant:%(target_tenant_id)s or None:%(target_tenant_id)s\"),  # noqa"},{"line_number":30,"context_line":"    policy.RuleDefault("},{"line_number":31,"context_line":"        \"get_zone_transfer_request_detailed\","},{"line_number":32,"context_line":"        base.RULE_ADMIN_OR_OWNER),"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f4e5783_ad5fefe3","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":89},"updated":"2017-10-10 14:43:27.000000000","message":"Same comment here as in the previous module.","commit_id":"3e82cba3e9beccdffe2696194e4ad36533bb1138"}],"designate/policy.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6a6d64f718ebedd5bae44bf3b8676ed43d5c1af2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    global _ENFORCER"},{"line_number":76,"context_line":"    if not _ENFORCER:"},{"line_number":77,"context_line":"        LOG.debug(\"Enforcer is not present, recreating.\")"},{"line_number":78,"context_line":"        _ENFORCER \u003d policy.Enforcer(CONF, policy_file\u003dpolicy_file)"},{"line_number":79,"context_line":"        _ENFORCER.register_defaults(policies.list_rules())"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f4e5783_4d5e3be7","line":78,"range":{"start_line":78,"start_character":42,"end_line":78,"end_character":65},"updated":"2017-10-10 14:43:27.000000000","message":"The oslo_policy library should be able to determine the policy file from the CONF object. Does that not work for designate?","commit_id":"3e82cba3e9beccdffe2696194e4ad36533bb1138"}],"etc/designate/policy.json":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"6a6d64f718ebedd5bae44bf3b8676ed43d5c1af2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    \"find_zone_exports\": \"rule:admin_or_owner\","},{"line_number":41,"context_line":"    \"get_zone_export\": \"rule:admin_or_owner\","},{"line_number":42,"context_line":"    \"update_zone_export\": \"rule:admin_or_owner\","},{"line_number":43,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"5f4e5783_cd8d8b7c","side":"PARENT","line":43,"updated":"2017-10-10 14:43:27.000000000","message":"Woo! This is always the best part about reviewing these patches :)","commit_id":"1f12285d79f8b2c2bb35bc4b207fccfad9a1e31e"}],"etc/designate/policy.yaml.sample":[{"author":{"_account_id":25254,"name":"Nguyen Van Trung","email":"trungnvfet@outlook.com","username":"trungnv"},"change_message_id":"9616a29dbc7447ce184a48e7cf941f630630ca49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7f515b1d_26b7b9f7","updated":"2017-10-03 09:49:44.000000000","message":"We are needing create this sample file via following cli tox -egenpolicy","commit_id":"184483f156b6a71c9b37bb61cd77090ac5a1e7de"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"c0e6a7dc4fd1714f7ffa3ee2ccdb55871a038c71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7f515b1d_86978dec","in_reply_to":"7f515b1d_26b7b9f7","updated":"2017-10-03 10:10:47.000000000","message":"This really done on first patchset:\nhttps://review.openstack.org/509061\n\nThanks!","commit_id":"184483f156b6a71c9b37bb61cd77090ac5a1e7de"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"a1d11f33ac194f0fe4e6e23ea9c2e10321f313ff","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#\"admin\": \"role:admin or is_admin:True\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"7f515b1d_b97047de","line":1,"updated":"2017-10-04 16:54:36.000000000","message":"Now that this is rendered, it can be generated as a formal part of the project\u0027s documentation. For example:\n\nhttps://docs.openstack.org/keystone/latest/configuration/index.html\n\nand\n\nhttps://github.com/openstack/keystone/blob/78eae3d49719579e84c58fd3bfda02b79b739d53/doc/source/configuration/policy.rst\n\nwhich results in \n\nhttps://docs.openstack.org/keystone/latest/configuration/policy.html","commit_id":"53963305b15e32dce0b5bbd47dfc27bb072d1095"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c4b3a73fd39032b386bdfb2bba0abed0eb017549","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#\"admin\": \"role:admin or is_admin:True\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"5f4e5783_2157ec28","line":1,"updated":"2017-10-16 15:55:05.000000000","message":"Some of these should have rendered with the description and operations present, right?","commit_id":"3311ab6e695e00f5b5b6243cde909b7a6969a4ad"},{"author":{"_account_id":19930,"name":"Dai Dang Van","email":"daidv@omzcloud.vn","username":"daidv"},"change_message_id":"04d8d7543330d8da1701068c53faaabdf4bd4d7d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"#\"admin\": \"role:admin or is_admin:True\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"5f4e5783_e69afc5f","line":1,"in_reply_to":"5f4e5783_2157ec28","updated":"2017-10-17 02:22:22.000000000","message":"OK","commit_id":"3311ab6e695e00f5b5b6243cde909b7a6969a4ad"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9e4024616dd21b8f4cf679ec3abc9644990226df","unresolved":false,"context_lines":[{"line_number":157,"context_line":"# Create Recordset"},{"line_number":158,"context_line":"# POST  /v2/zones/{zone_id}/recordsets"},{"line_number":159,"context_line":"# PATCH  /v2/reverse/floatingips/{region}:{floatingip_id}"},{"line_number":160,"context_line":"#\"create_recordset\": \"(\u0027PRIMARY\u0027:%(zone_type)s and rule:admin_or_owner)                            OR (\u0027SECONDARY\u0027:%(zone_type)s AND is_admin:True)\""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"#"},{"line_number":163,"context_line":"#\"get_recordsets\": \"rule:admin_or_owner\""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"3f4b6375_dd03e141","line":160,"range":{"start_line":160,"start_character":71,"end_line":160,"end_character":99},"updated":"2017-10-19 16:17:45.000000000","message":"Not sure how much this matters in evaluating policy. But it looks like there is a few extra tabs where this is define.","commit_id":"f0dfe273f8811b8a046acb115057643e530c249f"}]}
