)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for Shares resource"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"de099a23_4af09126","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":9},"updated":"2022-02-10 15:36:14.000000000","message":"What is the DocImpact here?","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for Shares resource"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"e8234f6a_4db2d17f","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":9},"in_reply_to":"1bc1adf0_45356aa1","updated":"2022-02-25 19:38:10.000000000","message":"POST /v2/shares/{share_id}/metadata/{key}\n\nalways existed as we discussed elsewhere.. \n\nso if there\u0027s nothing please drop the DocImpact if you push another patch.. we\u0027ll have one less bug to worry about..","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for Shares resource"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1bc1adf0_45356aa1","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":9},"in_reply_to":"de099a23_4af09126","updated":"2022-02-21 20:48:40.000000000","message":"Theres an additional endpoint for \u0027PUT\u0027 method \n/v2/shares/{share_id}/metadata/{key} which would expose the update_metadata_item method, though looking back I realize this method is only ever used for scheduler hints interally. Is it worth exposing as an endpoint, especially if its not even part of the CLI?","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for Shares resource"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"e73f524e_588a5077","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":9},"in_reply_to":"e8234f6a_4db2d17f","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e36ce064_9f014d26","updated":"2022-02-21 20:48:40.000000000","message":"Replied to your comments, new patching coming soon. Thanks Goutham!","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c5064052_95cb8de0","updated":"2022-02-10 15:36:14.000000000","message":"Still reviewing; initial comments inline; thanks Ashley!","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d89ebe9737241b5e4d32d954cdccd02681329f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"02c3fa6c_f261353a","updated":"2022-02-03 15:20:00.000000000","message":"recheck","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"efd34411277b70d1585071e9f1b74b6666d48888","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d088b017_af7f5628","updated":"2022-02-09 21:44:46.000000000","message":"recheck","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"182f1f6143683354f2294df87c0f50f8c191559b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"fd207a59_44b22bfe","updated":"2022-02-09 21:44:07.000000000","message":"recheck","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"3140ab9d_f3b365a8","updated":"2022-02-25 13:58:24.000000000","message":"Thanks for working on this change, Ashley\nAdded few comments inline... Please check them :)","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"76120efa2e16d4a5a093ef19b2a7adc567063bef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"587143b9_00604bf9","updated":"2022-03-04 14:04:41.000000000","message":"Looking good to me, thanks Ashley\nA merge conflict popped up. Could you please address it?","commit_id":"9d2218ac5103c2187607d9dcfdb4f30a2ec8085f"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"8b3eed9f_322c7257","updated":"2022-04-18 15:47:10.000000000","message":"Addressed follow-up comments in this patch: https://review.opendev.org/c/openstack/manila/+/837400","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"118fa707_b4e98484","updated":"2022-03-07 19:30:32.000000000","message":"Ashley: Minor comments inline; please submit follow up fixes for the issues identified, thanks!","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3ea094da36743c1aec17d46958ebd9467c88ba92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"db8373d1_f9c8bdab","updated":"2022-03-07 19:14:44.000000000","message":"LGTM, thanks Ashley","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"}],"manila/api/v2/metadata.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":true,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        create_metadata_method \u003d getattr("},{"line_number":141,"context_line":"            db, self.resource_metadata_update[self.resource_name])"},{"line_number":142,"context_line":"        result \u003d create_metadata_method(context, resource_id, metadata,"},{"line_number":143,"context_line":"                                        delete\u003d\u0027False\u0027)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        return {\u0027metadata\u0027: result}"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"4ddbb7a4_02f94e69","line":143,"range":{"start_line":142,"start_character":17,"end_line":143,"end_character":55},"updated":"2022-02-10 15:36:14.000000000","message":"this and all the modification methods below don\u0027t prevent regular users from manipulating admin only keys -- i.e., bypasses the logic you added here: https://github.com/openstack/manila/blob/0f161ce17a3116c0777091e1551204fecccabc61/manila/api/v1/share_metadata.py#L107-L124\n\n\nMaybe move that pre-processing into the shares controller?","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":true,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        create_metadata_method \u003d getattr("},{"line_number":141,"context_line":"            db, self.resource_metadata_update[self.resource_name])"},{"line_number":142,"context_line":"        result \u003d create_metadata_method(context, resource_id, metadata,"},{"line_number":143,"context_line":"                                        delete\u003d\u0027False\u0027)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        return {\u0027metadata\u0027: result}"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"e20fbaaf_1367c28e","line":143,"range":{"start_line":142,"start_character":17,"end_line":143,"end_character":55},"in_reply_to":"4ddbb7a4_02f94e69","updated":"2022-02-21 20:48:40.000000000","message":"Adding this logic to the controller, but havent been able to get any tests to run it locally. Pushing and hoping for the best from Zuul.","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"5d1d84baf2387207b6138d7c9724e2af960e1118","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        create_metadata_method \u003d getattr("},{"line_number":141,"context_line":"            db, self.resource_metadata_update[self.resource_name])"},{"line_number":142,"context_line":"        result \u003d create_metadata_method(context, resource_id, metadata,"},{"line_number":143,"context_line":"                                        delete\u003d\u0027False\u0027)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        return {\u0027metadata\u0027: result}"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"07791f18_0fd9ea8e","line":143,"range":{"start_line":142,"start_character":17,"end_line":143,"end_character":55},"in_reply_to":"e20fbaaf_1367c28e","updated":"2022-03-04 17:41:29.000000000","message":"Done","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":true,"context_lines":[{"line_number":223,"context_line":"        delete_metadata_method \u003d getattr("},{"line_number":224,"context_line":"            db, self.resource_metadata_delete[self.resource_name])"},{"line_number":225,"context_line":"        delete_metadata_method(context, resource_id, key)"},{"line_number":226,"context_line":"        return webob.Response(status_int\u003dhttp_client.OK)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def create_resource():"}],"source_content_type":"text/x-python","patch_set":9,"id":"92edc38c_6546a801","line":226,"range":{"start_line":226,"start_character":8,"end_line":226,"end_character":56},"updated":"2022-02-10 15:36:14.000000000","message":"this is covered by line 215","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        delete_metadata_method \u003d getattr("},{"line_number":224,"context_line":"            db, self.resource_metadata_delete[self.resource_name])"},{"line_number":225,"context_line":"        delete_metadata_method(context, resource_id, key)"},{"line_number":226,"context_line":"        return webob.Response(status_int\u003dhttp_client.OK)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def create_resource():"}],"source_content_type":"text/x-python","patch_set":9,"id":"6d2535c2_f804ea16","line":226,"range":{"start_line":226,"start_character":8,"end_line":226,"end_character":56},"in_reply_to":"92edc38c_6546a801","updated":"2022-02-21 20:48:40.000000000","message":"Done","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":true,"context_lines":[{"line_number":225,"context_line":"        delete_metadata_method(context, resource_id, key)"},{"line_number":226,"context_line":"        return webob.Response(status_int\u003dhttp_client.OK)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def create_resource():"},{"line_number":230,"context_line":"    return wsgi.Resource(MetadataController())"}],"source_content_type":"text/x-python","patch_set":9,"id":"59a4db16_d9392215","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":46},"updated":"2022-02-10 15:36:14.000000000","message":"This isn\u0027t a standalone controller - its meant to be derived by other controllers; so no need for this method..","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        delete_metadata_method(context, resource_id, key)"},{"line_number":226,"context_line":"        return webob.Response(status_int\u003dhttp_client.OK)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def create_resource():"},{"line_number":230,"context_line":"    return wsgi.Resource(MetadataController())"}],"source_content_type":"text/x-python","patch_set":9,"id":"e98e0b60_fad2b8f0","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":46},"in_reply_to":"59a4db16_d9392215","updated":"2022-02-21 20:48:40.000000000","message":"Done","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":true,"context_lines":[{"line_number":102,"context_line":"                                    get_policy, res)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        except exception.NotFound:"},{"line_number":105,"context_line":"            msg \u003d _(\u0027resource does not exist\u0027)"},{"line_number":106,"context_line":"            raise exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":107,"context_line":"        return res"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"4f81aa7a_7b8c479e","line":105,"range":{"start_line":105,"start_character":21,"end_line":105,"end_character":44},"updated":"2022-02-25 13:58:24.000000000","message":"Using the word resource here sounds like an implementation term... I think we could be more specific. For example use the resource name...\nmaybe the message could be like:\n\u0027%s not found.\u0027 % self.resource_name.capitalize()\nIt would produce a message like: Share not found.","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                    get_policy, res)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        except exception.NotFound:"},{"line_number":105,"context_line":"            msg \u003d _(\u0027resource does not exist\u0027)"},{"line_number":106,"context_line":"            raise exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":107,"context_line":"        return res"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"957799f7_58e8b945","line":105,"range":{"start_line":105,"start_character":21,"end_line":105,"end_character":44},"in_reply_to":"4f81aa7a_7b8c479e","updated":"2022-02-25 18:02:31.000000000","message":"Done","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"040e9144_8dcffc5e","updated":"2022-02-25 19:38:10.000000000","message":"the consequence of using this metadata controller for V2 now affords us some cleanup in share/api.py, doesn\u0027t it?\n\nAll the existing metadata methods in that file can just live in api/v1/share_metadata.py?\n\nLeaving those in share/api can be confusing for readability\u0027s sake","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ba82fead_f3838be3","in_reply_to":"040e9144_8dcffc5e","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        super(MetadataController, self).__init__()"},{"line_number":60,"context_line":"        self.resource_name \u003d None"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _check_metadata_properties(self, metadata\u003dNone):"},{"line_number":63,"context_line":"        if not metadata:"},{"line_number":64,"context_line":"            metadata \u003d {}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        for k, v in metadata.items():"},{"line_number":67,"context_line":"            if not k:"},{"line_number":68,"context_line":"                msg \u003d _(\"Metadata property key is blank.\")"},{"line_number":69,"context_line":"                LOG.warning(msg)"},{"line_number":70,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":71,"context_line":"            if len(k) \u003e 255:"},{"line_number":72,"context_line":"                msg \u003d _(\"Metadata property key is \""},{"line_number":73,"context_line":"                        \"greater than 255 characters.\")"},{"line_number":74,"context_line":"                LOG.warning(msg)"},{"line_number":75,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":76,"context_line":"            if not v:"},{"line_number":77,"context_line":"                msg \u003d _(\"Metadata property value is blank.\")"},{"line_number":78,"context_line":"                LOG.warning(msg)"},{"line_number":79,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":80,"context_line":"            if len(v) \u003e 1023:"},{"line_number":81,"context_line":"                msg \u003d _(\"Metadata property value is \""},{"line_number":82,"context_line":"                        \"greater than 1023 characters.\")"},{"line_number":83,"context_line":"                LOG.warning(msg)"},{"line_number":84,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _get_resource(self, context, resource_id,"},{"line_number":87,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":17,"id":"f328bf5f_a06c2787","line":84,"range":{"start_line":62,"start_character":0,"end_line":84,"end_character":60},"updated":"2022-02-25 19:38:10.000000000","message":"This method is identical to the one in share/api.py: https://github.com/openstack/manila/blob/d51eb05c055e1dbb71bb5475917a5bf161f98b41/manila/share/api.py#L2227-L2249\n\nexcept you\u0027re not using exception.InvalidMetadataSize -- any particular reason for the refactor?\n\nWhy not just move these to manila/api/common.py instead of duplicating it in two places","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        super(MetadataController, self).__init__()"},{"line_number":60,"context_line":"        self.resource_name \u003d None"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def _check_metadata_properties(self, metadata\u003dNone):"},{"line_number":63,"context_line":"        if not metadata:"},{"line_number":64,"context_line":"            metadata \u003d {}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        for k, v in metadata.items():"},{"line_number":67,"context_line":"            if not k:"},{"line_number":68,"context_line":"                msg \u003d _(\"Metadata property key is blank.\")"},{"line_number":69,"context_line":"                LOG.warning(msg)"},{"line_number":70,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":71,"context_line":"            if len(k) \u003e 255:"},{"line_number":72,"context_line":"                msg \u003d _(\"Metadata property key is \""},{"line_number":73,"context_line":"                        \"greater than 255 characters.\")"},{"line_number":74,"context_line":"                LOG.warning(msg)"},{"line_number":75,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":76,"context_line":"            if not v:"},{"line_number":77,"context_line":"                msg \u003d _(\"Metadata property value is blank.\")"},{"line_number":78,"context_line":"                LOG.warning(msg)"},{"line_number":79,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":80,"context_line":"            if len(v) \u003e 1023:"},{"line_number":81,"context_line":"                msg \u003d _(\"Metadata property value is \""},{"line_number":82,"context_line":"                        \"greater than 1023 characters.\")"},{"line_number":83,"context_line":"                LOG.warning(msg)"},{"line_number":84,"context_line":"                raise exception.InvalidMetadata(message\u003dmsg)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _get_resource(self, context, resource_id,"},{"line_number":87,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":17,"id":"6c5698aa_98ac82c9","line":84,"range":{"start_line":62,"start_character":0,"end_line":84,"end_character":60},"in_reply_to":"f328bf5f_a06c2787","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":86,"context_line":"    def _get_resource(self, context, resource_id,"},{"line_number":87,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"},{"line_number":88,"context_line":"        if self.resource_name in [\u0027share\u0027]:"},{"line_number":89,"context_line":"            kwargs \u003d {}"},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            kwargs \u003d {\u0027project_only\u0027: True}"},{"line_number":92,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"7ccac798_131dbea2","line":89,"range":{"start_line":89,"start_character":12,"end_line":89,"end_character":23},"updated":"2022-02-25 19:38:10.000000000","message":"add a comment above this line.. \n\n# we would allow retrieving some \"public\" resources\n# across project namespaces","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    def _get_resource(self, context, resource_id,"},{"line_number":87,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"},{"line_number":88,"context_line":"        if self.resource_name in [\u0027share\u0027]:"},{"line_number":89,"context_line":"            kwargs \u003d {}"},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            kwargs \u003d {\u0027project_only\u0027: True}"},{"line_number":92,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"6ac39dd3_3cc60a5e","line":89,"range":{"start_line":89,"start_character":12,"end_line":89,"end_character":23},"in_reply_to":"7ccac798_131dbea2","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":210,"context_line":"        self._get_resource(context, resource_id,"},{"line_number":211,"context_line":"                           for_modification\u003dTrue, parent_id\u003dparent_id)"},{"line_number":212,"context_line":"        get_metadata_item_method \u003d getattr("},{"line_number":213,"context_line":"            db, self.resource_metadata_get_item[self.resource_name])"},{"line_number":214,"context_line":"        item \u003d get_metadata_item_method(context, resource_id, key)"}],"source_content_type":"text/x-python","patch_set":17,"id":"cdc8b964_f1fd85f5","line":211,"range":{"start_line":211,"start_character":27,"end_line":211,"end_character":48},"updated":"2022-02-25 19:38:10.000000000","message":"Shouldn\u0027t this be False?","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":210,"context_line":"        self._get_resource(context, resource_id,"},{"line_number":211,"context_line":"                           for_modification\u003dTrue, parent_id\u003dparent_id)"},{"line_number":212,"context_line":"        get_metadata_item_method \u003d getattr("},{"line_number":213,"context_line":"            db, self.resource_metadata_get_item[self.resource_name])"},{"line_number":214,"context_line":"        item \u003d get_metadata_item_method(context, resource_id, key)"}],"source_content_type":"text/x-python","patch_set":17,"id":"b8fdced3_0f9333cc","line":211,"range":{"start_line":211,"start_character":27,"end_line":211,"end_character":48},"in_reply_to":"cdc8b964_f1fd85f5","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"85a50fe21bccb21d4876b6cd512f6c29f76accc6","unresolved":true,"context_lines":[{"line_number":199,"context_line":"            db, self.resource_metadata_get_item[self.resource_name])"},{"line_number":200,"context_line":"        item \u003d get_metadata_item_method(context, resource_id, key)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        return {\u0027metadata\u0027: {key: item}}"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    @wsgi.response(200)"},{"line_number":205,"context_line":"    def _delete_metadata(self, req, resource_id, key, parent_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":25,"id":"80abaae8_5eab1d28","line":202,"updated":"2022-04-06 16:51:31.000000000","message":"This is breaking backward compatibility. See https://bugs.launchpad.net/manila/+bug/1968069","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            db, self.resource_metadata_get_item[self.resource_name])"},{"line_number":200,"context_line":"        item \u003d get_metadata_item_method(context, resource_id, key)"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"        return {\u0027metadata\u0027: {key: item}}"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    @wsgi.response(200)"},{"line_number":205,"context_line":"    def _delete_metadata(self, req, resource_id, key, parent_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":25,"id":"046ffdcf_c36885c9","line":202,"in_reply_to":"80abaae8_5eab1d28","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"}],"manila/api/v2/router.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"09cef4a32ddf6439f01b280312737bc05311b79d","unresolved":true,"context_lines":[{"line_number":181,"context_line":"                           % path_prefix,"},{"line_number":182,"context_line":"                           controller\u003dself.resources[\"shares\"],"},{"line_number":183,"context_line":"                           action\u003d\"update_metadata_item\","},{"line_number":184,"context_line":"                           conditions\u003d{\"method\": [\"PUT\"]})"},{"line_number":185,"context_line":"            mapper.connect(\"share_metadata\","},{"line_number":186,"context_line":"                           \"%s/shares/{resource_id}/metadata\""},{"line_number":187,"context_line":"                           % path_prefix,"}],"source_content_type":"text/x-python","patch_set":14,"id":"b5bf9f89_85eefa17","line":184,"range":{"start_line":184,"start_character":51,"end_line":184,"end_character":54},"updated":"2022-02-23 22:04:50.000000000","message":"POST","commit_id":"3d2340d65811485c49370c9cc95ff1ce758aea9e"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                           % path_prefix,"},{"line_number":182,"context_line":"                           controller\u003dself.resources[\"shares\"],"},{"line_number":183,"context_line":"                           action\u003d\"update_metadata_item\","},{"line_number":184,"context_line":"                           conditions\u003d{\"method\": [\"PUT\"]})"},{"line_number":185,"context_line":"            mapper.connect(\"share_metadata\","},{"line_number":186,"context_line":"                           \"%s/shares/{resource_id}/metadata\""},{"line_number":187,"context_line":"                           % path_prefix,"}],"source_content_type":"text/x-python","patch_set":14,"id":"c730f114_f05dcff5","line":184,"range":{"start_line":184,"start_character":51,"end_line":184,"end_character":54},"in_reply_to":"b5bf9f89_85eefa17","updated":"2022-02-25 18:02:31.000000000","message":"Done","commit_id":"3d2340d65811485c49370c9cc95ff1ce758aea9e"}],"manila/api/v2/shares.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":true,"context_lines":[{"line_number":599,"context_line":""},{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _check_keys(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        ignore_keys \u003d constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":604,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":605,"context_line":"        if set(metadata).intersection(set(ignore_keys)):"}],"source_content_type":"text/x-python","patch_set":16,"id":"eb270955_d3b2a55e","line":602,"range":{"start_line":602,"start_character":8,"end_line":602,"end_character":19},"updated":"2022-02-25 13:58:24.000000000","message":"I was thinking of alternative names for this method, considering that it will:\n1. Check authorization to modify the policies\n2. Get the shares metadata\n3. Return an updated dict with the metadata...\nMaybe: _validate_and_get_metadata_updates ?","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":599,"context_line":""},{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _check_keys(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        ignore_keys \u003d constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":604,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":605,"context_line":"        if set(metadata).intersection(set(ignore_keys)):"}],"source_content_type":"text/x-python","patch_set":16,"id":"7bc50913_f8b94d70","line":602,"range":{"start_line":602,"start_character":8,"end_line":602,"end_character":19},"in_reply_to":"eb270955_d3b2a55e","updated":"2022-02-25 18:02:31.000000000","message":"Ack","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":true,"context_lines":[{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _check_keys(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        ignore_keys \u003d constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":604,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":605,"context_line":"        if set(metadata).intersection(set(ignore_keys)):"},{"line_number":606,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":16,"id":"414e830f_0aed27d6","line":603,"range":{"start_line":603,"start_character":8,"end_line":603,"end_character":19},"updated":"2022-02-25 13:58:24.000000000","message":"this could be called admin_metadata_keys_to_ignore","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _check_keys(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        ignore_keys \u003d constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":604,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":605,"context_line":"        if set(metadata).intersection(set(ignore_keys)):"},{"line_number":606,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":16,"id":"6325bd6c_5842f366","line":603,"range":{"start_line":603,"start_character":8,"end_line":603,"end_character":19},"in_reply_to":"414e830f_0aed27d6","updated":"2022-02-25 18:02:31.000000000","message":"Done","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":true,"context_lines":[{"line_number":612,"context_line":"                raise exc.HTTPForbidden(explanation\u003dmsg)"},{"line_number":613,"context_line":"            ignore_keys \u003d []"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"        orig_meta \u003d db.share_metadata_get(context, share_id)"},{"line_number":616,"context_line":"        if delete:"},{"line_number":617,"context_line":"            _metadata \u003d metadata"},{"line_number":618,"context_line":"            for key in ignore_keys:"}],"source_content_type":"text/x-python","patch_set":16,"id":"e0cd517a_29356610","line":615,"range":{"start_line":615,"start_character":8,"end_line":615,"end_character":17},"updated":"2022-02-25 13:58:24.000000000","message":"current_share_metadata","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":612,"context_line":"                raise exc.HTTPForbidden(explanation\u003dmsg)"},{"line_number":613,"context_line":"            ignore_keys \u003d []"},{"line_number":614,"context_line":""},{"line_number":615,"context_line":"        orig_meta \u003d db.share_metadata_get(context, share_id)"},{"line_number":616,"context_line":"        if delete:"},{"line_number":617,"context_line":"            _metadata \u003d metadata"},{"line_number":618,"context_line":"            for key in ignore_keys:"}],"source_content_type":"text/x-python","patch_set":16,"id":"b4c4493d_f86c4d2b","line":615,"range":{"start_line":615,"start_character":8,"end_line":615,"end_character":17},"in_reply_to":"e0cd517a_29356610","updated":"2022-02-25 18:02:31.000000000","message":"Done","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"de1dbf76ed9611df610be5d7aaba8e3e9503c70a","unresolved":true,"context_lines":[{"line_number":637,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"},{"line_number":638,"context_line":"    @wsgi.Controller.authorize(\"update_share_metadata\")"},{"line_number":639,"context_line":"    def create_metadata(self, req, resource_id, body):"},{"line_number":640,"context_line":"        try:"},{"line_number":641,"context_line":"            metadata \u003d body[\u0027metadata\u0027]"},{"line_number":642,"context_line":"        except (TypeError, KeyError):"},{"line_number":643,"context_line":"            expl \u003d _(\u0027Malformed request body\u0027)"},{"line_number":644,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dexpl)"},{"line_number":645,"context_line":"        _metadata \u003d self._check_keys(req, resource_id, metadata,"},{"line_number":646,"context_line":"                                     delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"9515569c_5341c01e","line":643,"range":{"start_line":640,"start_character":8,"end_line":643,"end_character":46},"updated":"2022-02-25 13:58:24.000000000","message":"if not self.is_valid_body(body, \u0027metadata\u0027):\n\nWe already have this implementation and it\u0027s being used in a lot of other APIs, so I think we could keep the consistency here and in the other mentions of this file","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"45ae9547c30f45b00aed4e341f9872ff4a73a434","unresolved":false,"context_lines":[{"line_number":637,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"},{"line_number":638,"context_line":"    @wsgi.Controller.authorize(\"update_share_metadata\")"},{"line_number":639,"context_line":"    def create_metadata(self, req, resource_id, body):"},{"line_number":640,"context_line":"        try:"},{"line_number":641,"context_line":"            metadata \u003d body[\u0027metadata\u0027]"},{"line_number":642,"context_line":"        except (TypeError, KeyError):"},{"line_number":643,"context_line":"            expl \u003d _(\u0027Malformed request body\u0027)"},{"line_number":644,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dexpl)"},{"line_number":645,"context_line":"        _metadata \u003d self._check_keys(req, resource_id, metadata,"},{"line_number":646,"context_line":"                                     delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"f336871f_41d27cdd","line":643,"range":{"start_line":640,"start_character":8,"end_line":643,"end_character":46},"in_reply_to":"9515569c_5341c01e","updated":"2022-02-25 18:02:31.000000000","message":"Done","commit_id":"d9e986a09d86ae9a267f77643e93e8fdd35dfc31"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":599,"context_line":""},{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _validate_metadata_for_update(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        admin_metadata_ignore_keys \u003d ("},{"line_number":604,"context_line":"            constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":605,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":17,"id":"5b6e637e_bfb88318","line":602,"range":{"start_line":602,"start_character":69,"end_line":602,"end_character":75},"updated":"2022-02-25 19:38:10.000000000","message":"you\u0027re considering this as a kwarg in the invocations below..","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":599,"context_line":""},{"line_number":600,"context_line":"        return self._get_shares(req, is_detail\u003dTrue)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _validate_metadata_for_update(self, req, share_id, metadata, delete):"},{"line_number":603,"context_line":"        admin_metadata_ignore_keys \u003d ("},{"line_number":604,"context_line":"            constants.AdminOnlyMetadata.SCHEDULER_FILTERS"},{"line_number":605,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":17,"id":"1c3ff2f9_c627c7d3","line":602,"range":{"start_line":602,"start_character":69,"end_line":602,"end_character":75},"in_reply_to":"5b6e637e_bfb88318","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7cd5cc760cc6fcee28c0d9b9e81920c69dc9f469","unresolved":true,"context_lines":[{"line_number":3432,"context_line":"@require_context"},{"line_number":3433,"context_line":"@require_share_exists"},{"line_number":3434,"context_line":"def share_metadata_delete(context, share_id, key, session\u003dNone):"},{"line_number":3435,"context_line":"    session \u003d get_session()"},{"line_number":3436,"context_line":"    meta_ref \u003d _share_metadata_get_item(context, share_id, key,"},{"line_number":3437,"context_line":"                                        session\u003dsession)"},{"line_number":3438,"context_line":"    meta_ref.soft_delete(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":9,"id":"c856fa5f_6e746129","line":3435,"range":{"start_line":3435,"start_character":14,"end_line":3435,"end_character":27},"updated":"2022-02-10 15:36:14.000000000","message":"session or get_session()","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9cf6c340ec17c251b57f89be6e16a1935f0a172f","unresolved":false,"context_lines":[{"line_number":3432,"context_line":"@require_context"},{"line_number":3433,"context_line":"@require_share_exists"},{"line_number":3434,"context_line":"def share_metadata_delete(context, share_id, key, session\u003dNone):"},{"line_number":3435,"context_line":"    session \u003d get_session()"},{"line_number":3436,"context_line":"    meta_ref \u003d _share_metadata_get_item(context, share_id, key,"},{"line_number":3437,"context_line":"                                        session\u003dsession)"},{"line_number":3438,"context_line":"    meta_ref.soft_delete(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":9,"id":"93b44bad_bba35b0f","line":3435,"range":{"start_line":3435,"start_character":14,"end_line":3435,"end_character":27},"in_reply_to":"c856fa5f_6e746129","updated":"2022-02-21 20:48:40.000000000","message":"Done","commit_id":"145c778f049c87e23b7aed9cd47b9a9a0b50e57c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cbb8fffef6db63087a0e2cc58cbf9e9ae71880d9","unresolved":true,"context_lines":[{"line_number":3609,"context_line":"              first())"},{"line_number":3610,"context_line":""},{"line_number":3611,"context_line":"    if not result:"},{"line_number":3612,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":3613,"context_line":"    return result"},{"line_number":3614,"context_line":""},{"line_number":3615,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"c9705144_b22a2f75","line":3612,"range":{"start_line":3612,"start_character":24,"end_line":3612,"end_character":44},"updated":"2022-02-25 19:38:10.000000000","message":"raise exception.MetadataItemNotFound()","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"3971acc30b58a29e12fc03d9cb48e189e122c555","unresolved":false,"context_lines":[{"line_number":3609,"context_line":"              first())"},{"line_number":3610,"context_line":""},{"line_number":3611,"context_line":"    if not result:"},{"line_number":3612,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":3613,"context_line":"    return result"},{"line_number":3614,"context_line":""},{"line_number":3615,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"31550a0e_a56312fa","line":3612,"range":{"start_line":3612,"start_character":24,"end_line":3612,"end_character":44},"in_reply_to":"c9705144_b22a2f75","updated":"2022-03-01 21:03:33.000000000","message":"Done","commit_id":"9afca04abb9dfefeff9c99f1cd3e5dfb69b2f0e5"}],"manila/share/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":true,"context_lines":[{"line_number":224,"context_line":"        try:"},{"line_number":225,"context_line":"            api_common._check_metadata_properties(metadata)"},{"line_number":226,"context_line":"        except (exception.InvalidMetadata, exception.InvalidMetadataSize):"},{"line_number":227,"context_line":"            raise"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        if snapshot_id is not None:"},{"line_number":230,"context_line":"            snapshot \u003d self.get_snapshot(context, snapshot_id)"}],"source_content_type":"text/x-python","patch_set":25,"id":"279efc43_5b8b2127","line":227,"range":{"start_line":227,"start_character":12,"end_line":227,"end_character":17},"updated":"2022-03-07 19:30:32.000000000","message":"no need to handle this if there\u0027re nothing being handled...","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        try:"},{"line_number":225,"context_line":"            api_common._check_metadata_properties(metadata)"},{"line_number":226,"context_line":"        except (exception.InvalidMetadata, exception.InvalidMetadataSize):"},{"line_number":227,"context_line":"            raise"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        if snapshot_id is not None:"},{"line_number":230,"context_line":"            snapshot \u003d self.get_snapshot(context, snapshot_id)"}],"source_content_type":"text/x-python","patch_set":25,"id":"6b544162_d2a5c861","line":227,"range":{"start_line":227,"start_character":12,"end_line":227,"end_character":17},"in_reply_to":"279efc43_5b8b2127","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":true,"context_lines":[{"line_number":2094,"context_line":"        try:"},{"line_number":2095,"context_line":"            api_common._check_metadata_properties(metadata)"},{"line_number":2096,"context_line":"        except (exception.InvalidMetadata, exception.InvalidMetadataSize):"},{"line_number":2097,"context_line":"            raise"},{"line_number":2098,"context_line":"        access_exists \u003d self.db.share_access_check_for_existing_access("},{"line_number":2099,"context_line":"            ctx, share[\u0027id\u0027], access_type, access_to)"},{"line_number":2100,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"b9fe3d4f_0a28e228","line":2097,"range":{"start_line":2097,"start_character":12,"end_line":2097,"end_character":17},"updated":"2022-03-07 19:30:32.000000000","message":"same.. \n\njust:\n  api_common._check_metadata_properties(metadata)","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":2094,"context_line":"        try:"},{"line_number":2095,"context_line":"            api_common._check_metadata_properties(metadata)"},{"line_number":2096,"context_line":"        except (exception.InvalidMetadata, exception.InvalidMetadataSize):"},{"line_number":2097,"context_line":"            raise"},{"line_number":2098,"context_line":"        access_exists \u003d self.db.share_access_check_for_existing_access("},{"line_number":2099,"context_line":"            ctx, share[\u0027id\u0027], access_type, access_to)"},{"line_number":2100,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"e2ac64c6_c47a14dc","line":2097,"range":{"start_line":2097,"start_character":12,"end_line":2097,"end_character":17},"in_reply_to":"b9fe3d4f_0a28e228","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"}],"manila/tests/api/v2/test_metadata.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":true,"context_lines":[{"line_number":39,"context_line":"            metadata.MetadataController())"},{"line_number":40,"context_line":"        self.controller.resource_name \u003d \u0027share\u0027"},{"line_number":41,"context_line":"        self.admin_context \u003d context.RequestContext(\u0027admin\u0027, \u0027fake\u0027, True)"},{"line_number":42,"context_line":"        self.member_context \u003d context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"},{"line_number":43,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":44,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock(return_value\u003dTrue))"},{"line_number":45,"context_line":"        self.resource \u003d db_utils.create_share(size\u003d1)"}],"source_content_type":"text/x-python","patch_set":25,"id":"4d6f2eef_a9a15d4e","line":42,"range":{"start_line":42,"start_character":67,"end_line":42,"end_character":68},"updated":"2022-03-07 19:30:32.000000000","message":", use_admin_context\u003dFalse\n\nsince the default is True\n\nbut, this variable isn\u0027t being used..","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            metadata.MetadataController())"},{"line_number":40,"context_line":"        self.controller.resource_name \u003d \u0027share\u0027"},{"line_number":41,"context_line":"        self.admin_context \u003d context.RequestContext(\u0027admin\u0027, \u0027fake\u0027, True)"},{"line_number":42,"context_line":"        self.member_context \u003d context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"},{"line_number":43,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":44,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock(return_value\u003dTrue))"},{"line_number":45,"context_line":"        self.resource \u003d db_utils.create_share(size\u003d1)"}],"source_content_type":"text/x-python","patch_set":25,"id":"07534bf2_0643eb11","line":42,"range":{"start_line":42,"start_character":67,"end_line":42,"end_character":68},"in_reply_to":"4d6f2eef_a9a15d4e","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"}],"manila/tests/db/sqlalchemy/test_api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":true,"context_lines":[{"line_number":1122,"context_line":"    def test_share_metadata_get(self):"},{"line_number":1123,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"        self.share_1 \u003d db_utils.create_share(size\u003d1)"},{"line_number":1126,"context_line":"        db_api.share_metadata_update("},{"line_number":1127,"context_line":"            self.ctxt, share_id\u003dself.share_1[\u0027id\u0027],"},{"line_number":1128,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":25,"id":"fb6d2d14_b791635c","line":1125,"range":{"start_line":1125,"start_character":8,"end_line":1125,"end_character":13},"updated":"2022-03-07 19:30:32.000000000","message":"why not a local variable","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":1122,"context_line":"    def test_share_metadata_get(self):"},{"line_number":1123,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"        self.share_1 \u003d db_utils.create_share(size\u003d1)"},{"line_number":1126,"context_line":"        db_api.share_metadata_update("},{"line_number":1127,"context_line":"            self.ctxt, share_id\u003dself.share_1[\u0027id\u0027],"},{"line_number":1128,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":25,"id":"e52546b9_77a705d0","line":1125,"range":{"start_line":1125,"start_character":8,"end_line":1125,"end_character":13},"in_reply_to":"fb6d2d14_b791635c","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e042cc9575965f6d125ff8ca1983acde953f18e5","unresolved":true,"context_lines":[{"line_number":1134,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"},{"line_number":1135,"context_line":"        key \u003d \u0027a\u0027"},{"line_number":1136,"context_line":"        shouldbe \u003d {\u0027a\u0027: \u0027b\u0027}"},{"line_number":1137,"context_line":"        self.share_1 \u003d db_utils.create_share(size\u003d1)"},{"line_number":1138,"context_line":"        db_api.share_metadata_update("},{"line_number":1139,"context_line":"            self.ctxt, share_id\u003dself.share_1[\u0027id\u0027],"},{"line_number":1140,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":25,"id":"65495363_9456c9e2","line":1137,"range":{"start_line":1137,"start_character":8,"end_line":1137,"end_character":13},"updated":"2022-03-07 19:30:32.000000000","message":"same comment here and in the below tests","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"09ed3df9ee9120130f993f1ce0f3dd402065eaa4","unresolved":false,"context_lines":[{"line_number":1134,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"},{"line_number":1135,"context_line":"        key \u003d \u0027a\u0027"},{"line_number":1136,"context_line":"        shouldbe \u003d {\u0027a\u0027: \u0027b\u0027}"},{"line_number":1137,"context_line":"        self.share_1 \u003d db_utils.create_share(size\u003d1)"},{"line_number":1138,"context_line":"        db_api.share_metadata_update("},{"line_number":1139,"context_line":"            self.ctxt, share_id\u003dself.share_1[\u0027id\u0027],"},{"line_number":1140,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":25,"id":"635f3a9f_c2b24f1d","line":1137,"range":{"start_line":1137,"start_character":8,"end_line":1137,"end_character":13},"in_reply_to":"65495363_9456c9e2","updated":"2022-04-18 15:47:10.000000000","message":"Done","commit_id":"266c8012e7a54da6380cf82ee6880351e2752c42"}]}
