)]}'
{"cinder/policies/volume_metadata.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"99018f0c20ac38d03e38cf3424e04b495cd322c4","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    ),"},{"line_number":82,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":83,"context_line":"        name\u003dCREATE_POLICY,"},{"line_number":84,"context_line":"        check_str\u003dbase.SYSTEM_OR_PROJECT_MEMBER,"},{"line_number":85,"context_line":"        scope_types\u003d[\u0027system\u0027, \u0027project\u0027],"},{"line_number":86,"context_line":"        description\u003d\"Create volume metadata.\","},{"line_number":87,"context_line":"        operations\u003d["}],"source_content_type":"text/x-python","patch_set":1,"id":"1f621f24_b034414c","line":84,"range":{"start_line":84,"start_character":23,"end_line":84,"end_character":47},"updated":"2020-10-28 19:18:12.000000000","message":"This is assuming cinder provides a way for system users to supply a project ID, right? Because system-specific context objects don\u0027t have a project addribute.","commit_id":"096e2db5fbeed2267398dbb8cbea22148d90d4e6"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"af9126ddae8bd938202d19928b42afea314e2910","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":54,"context_line":"    deprecated_reason\u003d("},{"line_number":55,"context_line":"        f\u0027{IMAGE_METADATA_POLICY} has been replaced by more granular \u0027"},{"line_number":56,"context_line":"        \u0027policies that separately govern show, set, and remove operations.\u0027)"},{"line_number":57,"context_line":")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"c51aab04_5e937596","line":56,"updated":"2021-09-03 18:54:34.000000000","message":"We could list the new policy names here so that it\u0027s easy for operators to map to the new thing. We could also say that IMAGE_METADATA_POLICY is going to be silently ignored in Yoga (or whenever we plan to remove it complete).","commit_id":"0a994ea6d1255b778dae55881f0db285a292b1bc"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"81824455a14e8d84963ec45375d6d7fa92bc61f1","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    check_str\u003dbase.RULE_ADMIN_OR_OWNER,"},{"line_number":54,"context_line":"    deprecated_reason\u003d("},{"line_number":55,"context_line":"        f\u0027{IMAGE_METADATA_POLICY} has been replaced by more granular \u0027"},{"line_number":56,"context_line":"        \u0027policies that separately govern show, set, and remove operations.\u0027)"},{"line_number":57,"context_line":")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ab2bba8e_8eb680f8","line":56,"in_reply_to":"c51aab04_5e937596","updated":"2021-09-07 22:13:41.000000000","message":"I\u0027m OK with the current wording (+1 from me), though others can downvote if they would like the wording changed.","commit_id":"0a994ea6d1255b778dae55881f0db285a292b1bc"}],"cinder/tests/unit/policies/test_volume_metadata.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"617a00af33744bd3a48785eb3afe7a87afcddab5","unresolved":true,"context_lines":[{"line_number":128,"context_line":"                                 volume_id\u003dvolume.id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @ddt.data(*base.all_users)"},{"line_number":131,"context_line":"    def Xtest_get_policy_for_image_metadata(self, user_id):"},{"line_number":132,"context_line":"        volume \u003d self._create_volume(glance_metadata\u003d{\"foo\": \"bar\"})"},{"line_number":133,"context_line":"        rule_name \u003d policy.GET_POLICY"},{"line_number":134,"context_line":"        url \u003d \u0027%s/%s/action\u0027 % (self.api_path, volume.id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"260240cb_ad2cfe6f","line":131,"updated":"2021-09-09 21:21:16.000000000","message":"-1: this test needs work","commit_id":"e43e77a7c887c2ecc74ae8d09b5cc3a4efa4eb81"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"cc7308283f9b2e3ce99fa2c7bfc3e130b1910b9a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                 volume_id\u003dvolume.id)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    @ddt.data(*base.all_users)"},{"line_number":131,"context_line":"    def Xtest_get_policy_for_image_metadata(self, user_id):"},{"line_number":132,"context_line":"        volume \u003d self._create_volume(glance_metadata\u003d{\"foo\": \"bar\"})"},{"line_number":133,"context_line":"        rule_name \u003d policy.GET_POLICY"},{"line_number":134,"context_line":"        url \u003d \u0027%s/%s/action\u0027 % (self.api_path, volume.id)"}],"source_content_type":"text/x-python","patch_set":10,"id":"a4560648_34f4f52f","line":131,"in_reply_to":"260240cb_ad2cfe6f","updated":"2021-09-09 22:15:06.000000000","message":"This test can be deleted. The original intent was to test the os-show_image_metadata wsgi action, and the code that implements that action is the VolumeImageMetadataController\u0027s index function. Without a full wsgi environment, a POST to the volume controller will not trigger an action in the image_metadata controller.","commit_id":"e43e77a7c887c2ecc74ae8d09b5cc3a4efa4eb81"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"2b8e68f51273033012b5160c3970aa8c19b208d0","unresolved":true,"context_lines":[{"line_number":97,"context_line":"        super().setUp(enforce_scope, enforce_new_defaults, *args, **kwargs)"},{"line_number":98,"context_line":"        self.controller \u003d volume_metadata.Controller()"},{"line_number":99,"context_line":"        self.image_controller \u003d image_metadata.VolumeImageMetadataController()"},{"line_number":100,"context_line":"        self.api_path \u003d \u0027/v3/volumes\u0027"},{"line_number":101,"context_line":"        self.api_version \u003d mv.BASE_VERSION"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def _create_volume(self, image_metadata\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":11,"id":"ea1b4974_30ea08a2","line":100,"range":{"start_line":100,"start_character":8,"end_line":100,"end_character":37},"updated":"2021-09-10 18:36:03.000000000","message":":nit: I\u0027m not sure about this but shouldn\u0027t this be /v3/{project_id}/volumes.\n\n```\nself.api_path \u003d \u0027/v3/%s/volumes\u0027 % (self.project_id)\n```\n\nhttps://docs.openstack.org/api-ref/block-storage/v3/?expanded\u003ddelete-attachment-detail,roll-back-volume-status-to-in-use-detail,extend-a-volume-size-detail#create-metadata-for-volume","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"3506a7488b2b10d52328a0563a4eea26a9bf2581","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        super().setUp(enforce_scope, enforce_new_defaults, *args, **kwargs)"},{"line_number":98,"context_line":"        self.controller \u003d volume_metadata.Controller()"},{"line_number":99,"context_line":"        self.image_controller \u003d image_metadata.VolumeImageMetadataController()"},{"line_number":100,"context_line":"        self.api_path \u003d \u0027/v3/volumes\u0027"},{"line_number":101,"context_line":"        self.api_version \u003d mv.BASE_VERSION"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    def _create_volume(self, image_metadata\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":11,"id":"de02fe88_600446fc","line":100,"range":{"start_line":100,"start_character":8,"end_line":100,"end_character":37},"in_reply_to":"ea1b4974_30ea08a2","updated":"2021-09-10 19:46:45.000000000","message":"Done","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"2b8e68f51273033012b5160c3970aa8c19b208d0","unresolved":true,"context_lines":[{"line_number":217,"context_line":"    def test_image_metadata_set_policy(self, user_id):"},{"line_number":218,"context_line":"        volume \u003d self._create_volume()"},{"line_number":219,"context_line":"        rule_name \u003d policy.IMAGE_METADATA_SET_POLICY"},{"line_number":220,"context_line":"        url \u003d \u0027%s/%s\u0027 % (self.api_path, volume.id)"},{"line_number":221,"context_line":"        req \u003d fake_api.HTTPRequest.blank(url, version\u003dself.api_version)"},{"line_number":222,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":223,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"32762003_60bf6456","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":22},"updated":"2021-09-10 18:36:03.000000000","message":":-1: i think the url is missing \u0027/action\u0027","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"3506a7488b2b10d52328a0563a4eea26a9bf2581","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def test_image_metadata_set_policy(self, user_id):"},{"line_number":218,"context_line":"        volume \u003d self._create_volume()"},{"line_number":219,"context_line":"        rule_name \u003d policy.IMAGE_METADATA_SET_POLICY"},{"line_number":220,"context_line":"        url \u003d \u0027%s/%s\u0027 % (self.api_path, volume.id)"},{"line_number":221,"context_line":"        req \u003d fake_api.HTTPRequest.blank(url, version\u003dself.api_version)"},{"line_number":222,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":223,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"0d5b516c_462516ee","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":22},"in_reply_to":"32762003_60bf6456","updated":"2021-09-10 19:46:45.000000000","message":"Done","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"2b8e68f51273033012b5160c3970aa8c19b208d0","unresolved":true,"context_lines":[{"line_number":239,"context_line":"    def test_image_metadata_remove_policy(self, user_id):"},{"line_number":240,"context_line":"        volume \u003d self._create_volume(image_metadata\u003d{\"foo\": \"bar\"})"},{"line_number":241,"context_line":"        rule_name \u003d policy.IMAGE_METADATA_REMOVE_POLICY"},{"line_number":242,"context_line":"        url \u003d \u0027%s/%s\u0027 % (self.api_path, volume.id)"},{"line_number":243,"context_line":"        req \u003d fake_api.HTTPRequest.blank(url, version\u003dself.api_version)"},{"line_number":244,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":245,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"c05e5577_ccbc0f0e","line":242,"updated":"2021-09-10 18:36:03.000000000","message":"Same here, i think the url is missing the action \"/volumes/{volume_id}/action\"","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"3506a7488b2b10d52328a0563a4eea26a9bf2581","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    def test_image_metadata_remove_policy(self, user_id):"},{"line_number":240,"context_line":"        volume \u003d self._create_volume(image_metadata\u003d{\"foo\": \"bar\"})"},{"line_number":241,"context_line":"        rule_name \u003d policy.IMAGE_METADATA_REMOVE_POLICY"},{"line_number":242,"context_line":"        url \u003d \u0027%s/%s\u0027 % (self.api_path, volume.id)"},{"line_number":243,"context_line":"        req \u003d fake_api.HTTPRequest.blank(url, version\u003dself.api_version)"},{"line_number":244,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":245,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"90601b46_e09bd990","line":242,"in_reply_to":"c05e5577_ccbc0f0e","updated":"2021-09-10 19:46:45.000000000","message":"Done","commit_id":"f9b822a0589447878314f0939cd727dc81f72a36"}]}
