)]}'
{"cinder/api/contrib/volume_image_metadata.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @wsgi.extends"},{"line_number":71,"context_line":"    def show(self, req, resp_obj, id):"},{"line_number":72,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":73,"context_line":"        if context.authorize(policy.IMAGE_METADATA_POLICY, fatal\u003dFalse):"},{"line_number":74,"context_line":"            self._add_image_metadata(context, [resp_obj.obj[\u0027volume\u0027]])"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @wsgi.extends"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_dbbfe95e","line":73,"range":{"start_line":73,"start_character":59,"end_line":73,"end_character":70},"updated":"2017-10-16 15:24:53.000000000","message":"How come these aren\u0027t fatal? It seems like other occurrences haven\u0027t been setting this.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @wsgi.extends"},{"line_number":71,"context_line":"    def show(self, req, resp_obj, id):"},{"line_number":72,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"},{"line_number":73,"context_line":"        if context.authorize(policy.IMAGE_METADATA_POLICY, fatal\u003dFalse):"},{"line_number":74,"context_line":"            self._add_image_metadata(context, [resp_obj.obj[\u0027volume\u0027]])"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    @wsgi.extends"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_e310ae02","line":73,"range":{"start_line":73,"start_character":59,"end_line":73,"end_character":70},"in_reply_to":"5f4e5783_dbbfe95e","updated":"2017-10-17 01:34:39.000000000","message":"The \u0027soft_extension_authorizer\u0027 here means not raise error if the request does not have any enough right.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/base.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":19,"context_line":"RULE_ADMIN_API \u003d \u0027rule:admin_api\u0027"},{"line_number":20,"context_line":"DEFAULT_POLICY \u003d \u0027rule:default\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["},{"line_number":23,"context_line":"    policy.RuleDefault(\u0027context_is_admin\u0027, \u0027role:admin\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_5b2659d0","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":31},"updated":"2017-10-16 15:24:53.000000000","message":"Since everything is in code and should have its own default, this shouldn\u0027t be necessary, should it? I don\u0027t see any policies in /cinder/etc/policy.json that relied on this.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"RULE_ADMIN_OR_OWNER \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":19,"context_line":"RULE_ADMIN_API \u003d \u0027rule:admin_api\u0027"},{"line_number":20,"context_line":"DEFAULT_POLICY \u003d \u0027rule:default\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["},{"line_number":23,"context_line":"    policy.RuleDefault(\u0027context_is_admin\u0027, \u0027role:admin\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c3249260","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":31},"in_reply_to":"5f4e5783_5b2659d0","updated":"2017-10-17 01:34:39.000000000","message":"I guess for the old style policy, it\u0027s required, because it will be used if we don\u0027t add any policy for one specific action, but for the new one. Yes, it\u0027s not necessary:)","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/manageable_volumes.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from cinder.policies import base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"BASE_POLICY_NAME \u003d \u0027volume:manageable_volumes:%s\u0027"},{"line_number":22,"context_line":"MANAGE_POLICY \u003d \"volume_extension:volume_manage\""},{"line_number":23,"context_line":"UNMANAGE_POLICY \u003d \"volume_extension:volume_unmanage\""},{"line_number":24,"context_line":"LIST_MANAGEABLE_POLICY \u003d \"volume_extension:list_manageable\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_d629008a","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":49},"updated":"2017-10-16 15:24:53.000000000","message":"Looks like this can be removed since it isn\u0027t used in this module.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from cinder.policies import base"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"BASE_POLICY_NAME \u003d \u0027volume:manageable_volumes:%s\u0027"},{"line_number":22,"context_line":"MANAGE_POLICY \u003d \"volume_extension:volume_manage\""},{"line_number":23,"context_line":"UNMANAGE_POLICY \u003d \"volume_extension:volume_unmanage\""},{"line_number":24,"context_line":"LIST_MANAGEABLE_POLICY \u003d \"volume_extension:list_manageable\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_43bf82d0","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":49},"in_reply_to":"5f4e5783_d629008a","updated":"2017-10-17 01:34:39.000000000","message":"Done!","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"},{"line_number":49,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"},{"line_number":50,"context_line":"                \u0027path\u0027: \u0027/manageable_volumes\u0027"},{"line_number":51,"context_line":"            }"},{"line_number":52,"context_line":"        ]),"},{"line_number":53,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_163318f8","line":50,"range":{"start_line":50,"start_character":17,"end_line":50,"end_character":45},"updated":"2017-10-16 15:24:53.000000000","message":"Just curious, is this similar to the actions API?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/type_extra_specs.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        ]),"},{"line_number":39,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":40,"context_line":"        name\u003dCREATE_POLICY,"},{"line_number":41,"context_line":"        check_str\u003d\"\","},{"line_number":42,"context_line":"        description\u003d\"Create type extra specs.\","},{"line_number":43,"context_line":"        operations\u003d["},{"line_number":44,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_d677c09f","line":41,"range":{"start_line":41,"start_character":17,"end_line":41,"end_character":21},"updated":"2017-10-16 15:24:53.000000000","message":"According to the policy file, this requires base.RULE_ADMIN_API.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        ]),"},{"line_number":39,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":40,"context_line":"        name\u003dCREATE_POLICY,"},{"line_number":41,"context_line":"        check_str\u003d\"\","},{"line_number":42,"context_line":"        description\u003d\"Create type extra specs.\","},{"line_number":43,"context_line":"        operations\u003d["},{"line_number":44,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_83c8da73","line":41,"range":{"start_line":41,"start_character":17,"end_line":41,"end_character":21},"in_reply_to":"5f4e5783_d677c09f","updated":"2017-10-17 01:34:39.000000000","message":"Thanks!","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/volume_actions.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"RESERVE_POLICY \u003d \"volume_extension:volume_actions:reserve\""},{"line_number":39,"context_line":"ROLL_DETACHING_POLICY \u003d \"volume_extension:volume_actions:roll_detaching\""},{"line_number":40,"context_line":"TERMINATE_POLICY \u003d \"volume_extension:volume_actions:terminate_connection\""},{"line_number":41,"context_line":"INITIALIZE_POLICY \u003d \"volume_extension:volume_actions:initialize_connection\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"volume_action_policies \u003d ["},{"line_number":44,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b6d8c47a","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":75},"updated":"2017-10-16 15:24:53.000000000","message":"This policy doesn\u0027t appear to be in cinder/etc/policy.json","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":38,"context_line":"RESERVE_POLICY \u003d \"volume_extension:volume_actions:reserve\""},{"line_number":39,"context_line":"ROLL_DETACHING_POLICY \u003d \"volume_extension:volume_actions:roll_detaching\""},{"line_number":40,"context_line":"TERMINATE_POLICY \u003d \"volume_extension:volume_actions:terminate_connection\""},{"line_number":41,"context_line":"INITIALIZE_POLICY \u003d \"volume_extension:volume_actions:initialize_connection\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"volume_action_policies \u003d ["},{"line_number":44,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_63983e74","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":75},"in_reply_to":"5f4e5783_b6d8c47a","updated":"2017-10-17 01:34:39.000000000","message":"Yes. it does not, but we have code that will use this policy [1]. I guess if we don\u0027t add any rule for this, it will use \u0027default\u0027 role in default.\n\n[1]: https://github.com/openstack/cinder/blob/master/cinder/volume/api.py#L771","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":115,"context_line":"        name\u003dUPLOAD_PUBLIC_POLICY,"},{"line_number":116,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":117,"context_line":"        description\u003d\"\"\"Upload a volume to image with public visibility.\"\"\","},{"line_number":118,"context_line":"        operations\u003d["},{"line_number":119,"context_line":"            {"},{"line_number":120,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_960ca8ec","line":117,"range":{"start_line":117,"start_character":19,"end_line":117,"end_character":23},"updated":"2017-10-16 15:24:53.000000000","message":"nit: \" to be consistent with other usage in this module.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":115,"context_line":"        name\u003dUPLOAD_PUBLIC_POLICY,"},{"line_number":116,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":117,"context_line":"        description\u003d\"\"\"Upload a volume to image with public visibility.\"\"\","},{"line_number":118,"context_line":"        operations\u003d["},{"line_number":119,"context_line":"            {"},{"line_number":120,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_63715e44","line":117,"range":{"start_line":117,"start_character":19,"end_line":117,"end_character":23},"in_reply_to":"5f4e5783_960ca8ec","updated":"2017-10-17 01:34:39.000000000","message":"Done","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        ]),"},{"line_number":124,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":125,"context_line":"        name\u003dUPLOAD_IMAGE_POLICY,"},{"line_number":126,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":127,"context_line":"        description\u003d\"Upload a volume to image.\","},{"line_number":128,"context_line":"        operations\u003d["},{"line_number":129,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b6c20458","line":126,"range":{"start_line":126,"start_character":23,"end_line":126,"end_character":37},"updated":"2017-10-16 15:24:53.000000000","message":"This is \u0027rule:admin_or_owner\u0027 in policy.json","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        ]),"},{"line_number":124,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":125,"context_line":"        name\u003dUPLOAD_IMAGE_POLICY,"},{"line_number":126,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":127,"context_line":"        description\u003d\"Upload a volume to image.\","},{"line_number":128,"context_line":"        operations\u003d["},{"line_number":129,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_03986a67","line":126,"range":{"start_line":126,"start_character":23,"end_line":126,"end_character":37},"in_reply_to":"5f4e5783_b6c20458","updated":"2017-10-17 01:34:39.000000000","message":"Thanks!","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            \u0027path\u0027:"},{"line_number":161,"context_line":"                \u0027/volumes/{volume_id}/action (os-migrate_volume_completion)\u0027}"},{"line_number":162,"context_line":"        ]),"},{"line_number":163,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":164,"context_line":"        name\u003dINITIALIZE_POLICY,"},{"line_number":165,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":166,"context_line":"        description\u003d\"Initialize volume attachment.\","},{"line_number":167,"context_line":"        operations\u003d[{"},{"line_number":168,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":169,"context_line":"            \u0027path\u0027:"},{"line_number":170,"context_line":"                \u0027/volumes/{volume_id}/action (os-initialize_connection)\u0027}"},{"line_number":171,"context_line":"        ]),"},{"line_number":172,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":173,"context_line":"        name\u003dTERMINATE_POLICY,"},{"line_number":174,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_96a8288c","line":171,"range":{"start_line":163,"start_character":0,"end_line":171,"end_character":10},"updated":"2017-10-16 15:24:53.000000000","message":"I\u0027m not seeing this on in policy.json, is it new?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            \u0027path\u0027:"},{"line_number":161,"context_line":"                \u0027/volumes/{volume_id}/action (os-migrate_volume_completion)\u0027}"},{"line_number":162,"context_line":"        ]),"},{"line_number":163,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":164,"context_line":"        name\u003dINITIALIZE_POLICY,"},{"line_number":165,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":166,"context_line":"        description\u003d\"Initialize volume attachment.\","},{"line_number":167,"context_line":"        operations\u003d[{"},{"line_number":168,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":169,"context_line":"            \u0027path\u0027:"},{"line_number":170,"context_line":"                \u0027/volumes/{volume_id}/action (os-initialize_connection)\u0027}"},{"line_number":171,"context_line":"        ]),"},{"line_number":172,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":173,"context_line":"        name\u003dTERMINATE_POLICY,"},{"line_number":174,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c3d37203","line":171,"range":{"start_line":163,"start_character":0,"end_line":171,"end_character":10},"in_reply_to":"5f4e5783_96a8288c","updated":"2017-10-17 01:34:39.000000000","message":"I don\u0027t see any rules in the json file either. Maybe someone just forgot to add them all in the file, but if we don\u0027t write any rule for them. it should be \u0027default\u0027 rule, right?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            \u0027path\u0027:"},{"line_number":170,"context_line":"                \u0027/volumes/{volume_id}/action (os-initialize_connection)\u0027}"},{"line_number":171,"context_line":"        ]),"},{"line_number":172,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":173,"context_line":"        name\u003dTERMINATE_POLICY,"},{"line_number":174,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":175,"context_line":"        description\u003d\"Terminate volume attachment.\","},{"line_number":176,"context_line":"        operations\u003d[{"},{"line_number":177,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":178,"context_line":"            \u0027path\u0027:"},{"line_number":179,"context_line":"                \u0027/volumes/{volume_id}/action (os-terminate_connection)\u0027}"},{"line_number":180,"context_line":"        ]),"},{"line_number":181,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":182,"context_line":"        name\u003dROLL_DETACHING_POLICY,"},{"line_number":183,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_5696304e","line":180,"range":{"start_line":172,"start_character":0,"end_line":180,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"I\u0027m not seeing this one in policy.json, is it new?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            \u0027path\u0027:"},{"line_number":170,"context_line":"                \u0027/volumes/{volume_id}/action (os-initialize_connection)\u0027}"},{"line_number":171,"context_line":"        ]),"},{"line_number":172,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":173,"context_line":"        name\u003dTERMINATE_POLICY,"},{"line_number":174,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":175,"context_line":"        description\u003d\"Terminate volume attachment.\","},{"line_number":176,"context_line":"        operations\u003d[{"},{"line_number":177,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":178,"context_line":"            \u0027path\u0027:"},{"line_number":179,"context_line":"                \u0027/volumes/{volume_id}/action (os-terminate_connection)\u0027}"},{"line_number":180,"context_line":"        ]),"},{"line_number":181,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":182,"context_line":"        name\u003dROLL_DETACHING_POLICY,"},{"line_number":183,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_83d9fa22","line":180,"range":{"start_line":172,"start_character":0,"end_line":180,"end_character":11},"in_reply_to":"5f4e5783_5696304e","updated":"2017-10-17 01:34:39.000000000","message":"ditto","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            \u0027path\u0027:"},{"line_number":179,"context_line":"                \u0027/volumes/{volume_id}/action (os-terminate_connection)\u0027}"},{"line_number":180,"context_line":"        ]),"},{"line_number":181,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":182,"context_line":"        name\u003dROLL_DETACHING_POLICY,"},{"line_number":183,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":184,"context_line":"        description\u003d\"Roll back volume status to \u0027in-use\u0027.\","},{"line_number":185,"context_line":"        operations\u003d[{"},{"line_number":186,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":187,"context_line":"            \u0027path\u0027:"},{"line_number":188,"context_line":"                \u0027/volumes/{volume_id}/action (os-roll_detaching)\u0027}"},{"line_number":189,"context_line":"        ]),"},{"line_number":190,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":191,"context_line":"        name\u003dRESERVE_POLICY,"},{"line_number":192,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_968148fe","line":189,"range":{"start_line":181,"start_character":0,"end_line":189,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"I\u0027m not seeing this one in policy.json, is it new?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            \u0027path\u0027:"},{"line_number":179,"context_line":"                \u0027/volumes/{volume_id}/action (os-terminate_connection)\u0027}"},{"line_number":180,"context_line":"        ]),"},{"line_number":181,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":182,"context_line":"        name\u003dROLL_DETACHING_POLICY,"},{"line_number":183,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":184,"context_line":"        description\u003d\"Roll back volume status to \u0027in-use\u0027.\","},{"line_number":185,"context_line":"        operations\u003d[{"},{"line_number":186,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":187,"context_line":"            \u0027path\u0027:"},{"line_number":188,"context_line":"                \u0027/volumes/{volume_id}/action (os-roll_detaching)\u0027}"},{"line_number":189,"context_line":"        ]),"},{"line_number":190,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":191,"context_line":"        name\u003dRESERVE_POLICY,"},{"line_number":192,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_63d4bee9","line":189,"range":{"start_line":181,"start_character":0,"end_line":189,"end_character":11},"in_reply_to":"5f4e5783_968148fe","updated":"2017-10-17 01:34:39.000000000","message":"ditto","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            \u0027path\u0027:"},{"line_number":188,"context_line":"                \u0027/volumes/{volume_id}/action (os-roll_detaching)\u0027}"},{"line_number":189,"context_line":"        ]),"},{"line_number":190,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":191,"context_line":"        name\u003dRESERVE_POLICY,"},{"line_number":192,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":193,"context_line":"        description\u003d\"Mark volume as reserved.\","},{"line_number":194,"context_line":"        operations\u003d[{"},{"line_number":195,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":196,"context_line":"            \u0027path\u0027:"},{"line_number":197,"context_line":"                \u0027/volumes/{volume_id}/action (os-reserve)\u0027}"},{"line_number":198,"context_line":"        ]),"},{"line_number":199,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":200,"context_line":"        name\u003dUNRESERVE_POLICY,"},{"line_number":201,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_367cd41d","line":198,"range":{"start_line":190,"start_character":0,"end_line":198,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"I\u0027m not seeing this one in policy.json, is it new?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            \u0027path\u0027:"},{"line_number":188,"context_line":"                \u0027/volumes/{volume_id}/action (os-roll_detaching)\u0027}"},{"line_number":189,"context_line":"        ]),"},{"line_number":190,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":191,"context_line":"        name\u003dRESERVE_POLICY,"},{"line_number":192,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":193,"context_line":"        description\u003d\"Mark volume as reserved.\","},{"line_number":194,"context_line":"        operations\u003d[{"},{"line_number":195,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":196,"context_line":"            \u0027path\u0027:"},{"line_number":197,"context_line":"                \u0027/volumes/{volume_id}/action (os-reserve)\u0027}"},{"line_number":198,"context_line":"        ]),"},{"line_number":199,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":200,"context_line":"        name\u003dUNRESERVE_POLICY,"},{"line_number":201,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_4309c293","line":198,"range":{"start_line":190,"start_character":0,"end_line":198,"end_character":11},"in_reply_to":"5f4e5783_367cd41d","updated":"2017-10-17 01:34:39.000000000","message":"ditto","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            \u0027path\u0027:"},{"line_number":197,"context_line":"                \u0027/volumes/{volume_id}/action (os-reserve)\u0027}"},{"line_number":198,"context_line":"        ]),"},{"line_number":199,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":200,"context_line":"        name\u003dUNRESERVE_POLICY,"},{"line_number":201,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":202,"context_line":"        description\u003d\"Unmark volume as reserved.\","},{"line_number":203,"context_line":"        operations\u003d[{"},{"line_number":204,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":205,"context_line":"            \u0027path\u0027:"},{"line_number":206,"context_line":"                \u0027/volumes/{volume_id}/action (os-unreserve)\u0027}"},{"line_number":207,"context_line":"        ]),"},{"line_number":208,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":209,"context_line":"        name\u003dBEGIN_DETACHING_POLICY,"},{"line_number":210,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_f6719c45","line":207,"range":{"start_line":199,"start_character":0,"end_line":207,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"Same comment here.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":196,"context_line":"            \u0027path\u0027:"},{"line_number":197,"context_line":"                \u0027/volumes/{volume_id}/action (os-reserve)\u0027}"},{"line_number":198,"context_line":"        ]),"},{"line_number":199,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":200,"context_line":"        name\u003dUNRESERVE_POLICY,"},{"line_number":201,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":202,"context_line":"        description\u003d\"Unmark volume as reserved.\","},{"line_number":203,"context_line":"        operations\u003d[{"},{"line_number":204,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":205,"context_line":"            \u0027path\u0027:"},{"line_number":206,"context_line":"                \u0027/volumes/{volume_id}/action (os-unreserve)\u0027}"},{"line_number":207,"context_line":"        ]),"},{"line_number":208,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":209,"context_line":"        name\u003dBEGIN_DETACHING_POLICY,"},{"line_number":210,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_03ff4a67","line":207,"range":{"start_line":199,"start_character":0,"end_line":207,"end_character":11},"in_reply_to":"5f4e5783_f6719c45","updated":"2017-10-17 01:34:39.000000000","message":"ditto","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        ]),"},{"line_number":208,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":209,"context_line":"        name\u003dBEGIN_DETACHING_POLICY,"},{"line_number":210,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":211,"context_line":"        description\u003d\"Begin detach volumes.\","},{"line_number":212,"context_line":"        operations\u003d[{"},{"line_number":213,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_56a4f0a5","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":37},"updated":"2017-10-16 15:24:53.000000000","message":"Also - this can probably default to something other than an alias.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        ]),"},{"line_number":208,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":209,"context_line":"        name\u003dBEGIN_DETACHING_POLICY,"},{"line_number":210,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":211,"context_line":"        description\u003d\"Begin detach volumes.\","},{"line_number":212,"context_line":"        operations\u003d[{"},{"line_number":213,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_c3fc9271","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":37},"in_reply_to":"5f4e5783_56a4f0a5","updated":"2017-10-17 01:34:39.000000000","message":"Done","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"            \u0027path\u0027:"},{"line_number":206,"context_line":"                \u0027/volumes/{volume_id}/action (os-unreserve)\u0027}"},{"line_number":207,"context_line":"        ]),"},{"line_number":208,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":209,"context_line":"        name\u003dBEGIN_DETACHING_POLICY,"},{"line_number":210,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":211,"context_line":"        description\u003d\"Begin detach volumes.\","},{"line_number":212,"context_line":"        operations\u003d[{"},{"line_number":213,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":214,"context_line":"            \u0027path\u0027:"},{"line_number":215,"context_line":"                \u0027/volumes/{volume_id}/action (os-begin_detaching)\u0027}"},{"line_number":216,"context_line":"        ]),"},{"line_number":217,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":218,"context_line":"        name\u003dATTACH_POLICY,"},{"line_number":219,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b6956435","line":216,"range":{"start_line":208,"start_character":0,"end_line":216,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"Same comment here.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            \u0027path\u0027:"},{"line_number":215,"context_line":"                \u0027/volumes/{volume_id}/action (os-begin_detaching)\u0027}"},{"line_number":216,"context_line":"        ]),"},{"line_number":217,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":218,"context_line":"        name\u003dATTACH_POLICY,"},{"line_number":219,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":220,"context_line":"        description\u003d\"Add attachment metadata.\","},{"line_number":221,"context_line":"        operations\u003d[{"},{"line_number":222,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":223,"context_line":"            \u0027path\u0027:"},{"line_number":224,"context_line":"                \u0027/volumes/{volume_id}/action (os-attach)\u0027}"},{"line_number":225,"context_line":"        ]),"},{"line_number":226,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":227,"context_line":"        name\u003dDETACH_POLICY,"},{"line_number":228,"context_line":"        check_str\u003dbase.DEFAULT_POLICY,"},{"line_number":229,"context_line":"        description\u003d\"Clear attachment metadata.\","},{"line_number":230,"context_line":"        operations\u003d[{"},{"line_number":231,"context_line":"            \u0027method\u0027: \u0027POST\u0027,"},{"line_number":232,"context_line":"            \u0027path\u0027:"},{"line_number":233,"context_line":"                \u0027/volumes/{volume_id}/action (os-detach)\u0027}"},{"line_number":234,"context_line":"        ]),"},{"line_number":235,"context_line":"]"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_d6b900cc","line":234,"range":{"start_line":217,"start_character":0,"end_line":234,"end_character":11},"updated":"2017-10-16 15:24:53.000000000","message":"These don\u0027t appear to be in policy.json either. Maybe we can apply these in their own change?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/volume_metadata.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        name\u003dUPDATE_ADMIN_METADATA_POLICY,"},{"line_number":111,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":112,"context_line":"        description\u003d\"Update volume admin metadata. It\u0027s used in `attach` \""},{"line_number":113,"context_line":"                    \"and \u0027os-update_readonly_flag\u0027 APIs\","},{"line_number":114,"context_line":"        operations\u003d["},{"line_number":115,"context_line":"            {"},{"line_number":116,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_d62c6003","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":50},"updated":"2017-10-16 15:24:53.000000000","message":"nit: should these be ` (backticks) to be consistent with the usage in `attach`?","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        name\u003dUPDATE_ADMIN_METADATA_POLICY,"},{"line_number":111,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":112,"context_line":"        description\u003d\"Update volume admin metadata. It\u0027s used in `attach` \""},{"line_number":113,"context_line":"                    \"and \u0027os-update_readonly_flag\u0027 APIs\","},{"line_number":114,"context_line":"        operations\u003d["},{"line_number":115,"context_line":"            {"},{"line_number":116,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_63eddeb5","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":50},"in_reply_to":"5f4e5783_d62c6003","updated":"2017-10-17 01:34:39.000000000","message":"Done","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/volume_transfer.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":30,"context_line":"        name\u003dGET_ALL_POLICY,"},{"line_number":31,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":32,"context_line":"        description\u003d\"\"\"List volume transfer.\"\"\","},{"line_number":33,"context_line":"        operations\u003d["},{"line_number":34,"context_line":"            {"},{"line_number":35,"context_line":"                \u0027method\u0027: \u0027GET\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_d67a20ef","line":32,"range":{"start_line":32,"start_character":19,"end_line":32,"end_character":23},"updated":"2017-10-16 15:24:53.000000000","message":"nit: \" to be consistent with other usage in this module.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":30,"context_line":"        name\u003dGET_ALL_POLICY,"},{"line_number":31,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":32,"context_line":"        description\u003d\"\"\"List volume transfer.\"\"\","},{"line_number":33,"context_line":"        operations\u003d["},{"line_number":34,"context_line":"            {"},{"line_number":35,"context_line":"                \u0027method\u0027: \u0027GET\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_432e62fb","line":32,"range":{"start_line":32,"start_character":19,"end_line":32,"end_character":23},"in_reply_to":"5f4e5783_d67a20ef","updated":"2017-10-17 01:34:39.000000000","message":"Done","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003dCREATE_POLICY,"},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":46,"context_line":"        description\u003d\"\"\"Create a volume transfer.\"\"\","},{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"},{"line_number":49,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_36261417","line":46,"range":{"start_line":46,"start_character":19,"end_line":46,"end_character":23},"updated":"2017-10-16 15:24:53.000000000","message":"nit: \" to be consistent with other usage in this module.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003dCREATE_POLICY,"},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":46,"context_line":"        description\u003d\"\"\"Create a volume transfer.\"\"\","},{"line_number":47,"context_line":"        operations\u003d["},{"line_number":48,"context_line":"            {"},{"line_number":49,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_2331265b","line":46,"range":{"start_line":46,"start_character":19,"end_line":46,"end_character":23},"in_reply_to":"5f4e5783_36261417","updated":"2017-10-17 01:34:39.000000000","message":"Done","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}],"cinder/policies/volumes.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"72af1cada93fa97ac90d30ec15ad68e852a7224c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        ]),"},{"line_number":98,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":99,"context_line":"        name\u003dFORCE_DELETE_POLICY,"},{"line_number":100,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":101,"context_line":"        description\u003d\"Force Delete a volume.\","},{"line_number":102,"context_line":"        operations\u003d["},{"line_number":103,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_b69b2416","line":100,"range":{"start_line":100,"start_character":23,"end_line":100,"end_character":42},"updated":"2017-10-16 15:24:53.000000000","message":"Looks like the default for this in cinder/etc/policy.json is the admin_api rule.","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"74b1484d5e9ce14ff24fbb12cf659934e5893351","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        ]),"},{"line_number":98,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":99,"context_line":"        name\u003dFORCE_DELETE_POLICY,"},{"line_number":100,"context_line":"        check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":101,"context_line":"        description\u003d\"Force Delete a volume.\","},{"line_number":102,"context_line":"        operations\u003d["},{"line_number":103,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f4e5783_e3366e51","line":100,"range":{"start_line":100,"start_character":23,"end_line":100,"end_character":42},"in_reply_to":"5f4e5783_b69b2416","updated":"2017-10-17 01:34:39.000000000","message":"Good catch!!!","commit_id":"fcde8f74efe0dc08e80e01fca2c37574de3adb5a"}]}
