)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"c82b8ba1ebfa3d6f990ce97c2d1f440f9d5dec41","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0831b882_5ea2e2fa","updated":"2023-02-09 16:10:51.000000000","message":"I had a fast look and added some comments inline. Thanks for adding metadata, this always gives nice flexibility.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"a5547c097aae6e68505f9b5d3e9b8c71c183df41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f2762af3_fe8f8468","updated":"2023-02-07 16:46:22.000000000","message":"LGTM","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"1bd95fc2c85fc0c76ad3af09e475b28e29d77927","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e9333b94_02e87727","updated":"2023-01-31 15:01:47.000000000","message":"Thank you Felipe. Just 2 small coverage issues.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d7b1835a_791ed4eb","updated":"2023-02-09 13:52:26.000000000","message":"Thank you for working on this change - I have tested it and it works just fine. Please take a look at the comments inline","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e6f948b0_6e085337","updated":"2023-02-15 01:24:41.000000000","message":"Thanks Carlos and carthaca. See my replies and the next patchset.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"1aad288deb08785c57ad9b319b11d82c8cac7b0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"383cf925_35a7e311","updated":"2023-01-13 11:23:33.000000000","message":"recheck: not related error","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1db3efe8_5da52e19","in_reply_to":"0831b882_5ea2e2fa","updated":"2023-02-15 01:24:41.000000000","message":"Done","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f32953543a865b106708aeef29b4766ee227a6f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"adea3bc3_a94b4fa8","updated":"2023-02-15 18:55:15.000000000","message":"LGTM - thanks Felipe!","commit_id":"b09097150f2234a2f80727bbe7122d4cb52a2c7d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ee9a201c91a60dce6a3930002e898c45cc66130b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"891cd547_0ffc02b8","updated":"2023-02-15 18:55:06.000000000","message":"recheck\nKnown CI issue with the LVM driver","commit_id":"b09097150f2234a2f80727bbe7122d4cb52a2c7d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"35c545d60d6f33d4ca27c06ed848ca6697049724","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"eab68516_020539be","updated":"2023-02-16 13:35:24.000000000","message":"recheck\nCI is not on its best days - Most failures caused to feature freeze madness on CI.","commit_id":"29f56c401d2df8a60575f19f163318f15a7793ad"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"834a29e8bccaf595223e90017f92328180afdcb9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e0ca0c52_7951c0f9","updated":"2023-02-20 14:11:42.000000000","message":"Looks good overall - thanks for responding to comments.","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"9feb9188_748af6fb","updated":"2023-02-21 00:15:57.000000000","message":"Thanks Felipe; none of my comments are major. Could you please submit a follow up patch to address them?","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"}],"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":188,"context_line":"    * 2.71 - Added \u0027updated_at\u0027 field in share instance show API output."},{"line_number":189,"context_line":"    * 2.72 - Added new option ``share-network`` to share replica creare API."},{"line_number":190,"context_line":"    * 2.73 - Added Share Snapshot Metadata to Metadata API"},{"line_number":191,"context_line":"    * 2.74 - Added Share Network Metadata to Metadata API."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"\"\"\""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b316a1d3_bd039a15","line":191,"range":{"start_line":191,"start_character":6,"end_line":191,"end_character":11},"updated":"2023-02-09 13:52:26.000000000","message":"please rebase and bump to another version :)","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    * 2.71 - Added \u0027updated_at\u0027 field in share instance show API output."},{"line_number":189,"context_line":"    * 2.72 - Added new option ``share-network`` to share replica creare API."},{"line_number":190,"context_line":"    * 2.73 - Added Share Snapshot Metadata to Metadata API"},{"line_number":191,"context_line":"    * 2.74 - Added Share Network Metadata to Metadata API."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"\"\"\""},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0ef1bfa9_504bb5d1","line":191,"range":{"start_line":191,"start_character":6,"end_line":191,"end_character":11},"in_reply_to":"b316a1d3_bd039a15","updated":"2023-02-15 01:24:41.000000000","message":"Done","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}],"manila/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":407,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":408,"context_line":"  to Share Snapshots"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"2.74 (Maximum in Antelope)"},{"line_number":411,"context_line":"--------------------------"},{"line_number":412,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":413,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":2,"id":"722b21e0_59eb0351","line":410,"range":{"start_line":410,"start_character":5,"end_line":410,"end_character":26},"updated":"2023-02-09 13:52:26.000000000","message":"I think we can annotate this with the last change to go in - This change is smaller than a lot of other changes we are pursuing, so I believe there is a chance that this won\u0027t be the last.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":407,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":408,"context_line":"  to Share Snapshots"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"2.74 (Maximum in Antelope)"},{"line_number":411,"context_line":"--------------------------"},{"line_number":412,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":413,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ee2559c3_db6f5388","line":410,"range":{"start_line":410,"start_character":5,"end_line":410,"end_character":26},"in_reply_to":"722b21e0_59eb0351","updated":"2023-02-15 01:24:41.000000000","message":"nice, done.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ee9a201c91a60dce6a3930002e898c45cc66130b","unresolved":false,"context_lines":[{"line_number":407,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":408,"context_line":"  to Share Snapshots"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"2.74 (Maximum in Antelope)"},{"line_number":411,"context_line":"--------------------------"},{"line_number":412,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":413,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":2,"id":"e814ceed_1b37d8f4","line":410,"range":{"start_line":410,"start_character":5,"end_line":410,"end_character":26},"in_reply_to":"ee2559c3_db6f5388","updated":"2023-02-15 18:55:06.000000000","message":"Done","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"834a29e8bccaf595223e90017f92328180afdcb9","unresolved":true,"context_lines":[{"line_number":423,"context_line":"----"},{"line_number":424,"context_line":"  Added support for share transfer between different projects."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"2.78"},{"line_number":427,"context_line":"----"},{"line_number":428,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":429,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":8,"id":"e43f1d8a_c22c8bb2","line":427,"range":{"start_line":426,"start_character":0,"end_line":427,"end_character":4},"updated":"2023-02-20 14:11:42.000000000","message":"nit: now I think it would be safe to annotate with (Maximum in Antelope) - but not need to submit a new PS just for this","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":true,"context_lines":[{"line_number":423,"context_line":"----"},{"line_number":424,"context_line":"  Added support for share transfer between different projects."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"2.78"},{"line_number":427,"context_line":"----"},{"line_number":428,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":429,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":8,"id":"b2fde175_7b8ed953","line":427,"range":{"start_line":426,"start_character":0,"end_line":427,"end_character":4},"in_reply_to":"4bf9ae60_d9af3347","updated":"2023-02-21 00:15:57.000000000","message":"++ thanks for thinking about this\n\nDoing it as a separate change is fine, since we\u0027d avoid running most of the tests because the change would just be touching a doc file.","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"d53999cd1ac3ba3e6d4f1eb27c1b30693c386d31","unresolved":true,"context_lines":[{"line_number":423,"context_line":"----"},{"line_number":424,"context_line":"  Added support for share transfer between different projects."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"2.78"},{"line_number":427,"context_line":"----"},{"line_number":428,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":429,"context_line":"  to Share Network Subnets."}],"source_content_type":"text/x-rst","patch_set":8,"id":"4bf9ae60_d9af3347","line":427,"range":{"start_line":426,"start_character":0,"end_line":427,"end_character":4},"in_reply_to":"e43f1d8a_c22c8bb2","updated":"2023-02-20 19:19:54.000000000","message":"I see.. I can do it in a follow up patch together with the coverage that you mentioned, wdyt ?","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"}],"manila/api/v2/metadata.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":true,"context_lines":[{"line_number":73,"context_line":"    def _get_resource(self, context, resource_id,"},{"line_number":74,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"},{"line_number":75,"context_line":"        if self.resource_name in [\u0027share\u0027, \u0027share_network_subnet\u0027]:"},{"line_number":76,"context_line":"            # we would allow retrieving some \"public\" resources"},{"line_number":77,"context_line":"            # across project namespaces excpet share snaphots,"},{"line_number":78,"context_line":"            # project_only\u003dTrue is hard coded"},{"line_number":79,"context_line":"            kwargs \u003d {}"},{"line_number":80,"context_line":"        else:"},{"line_number":81,"context_line":"            kwargs \u003d {\u0027project_only\u0027: True}"}],"source_content_type":"text/x-python","patch_set":8,"id":"a7c44d3c_e98e4040","line":78,"range":{"start_line":76,"start_character":12,"end_line":78,"end_character":45},"updated":"2023-02-21 00:15:57.000000000","message":"In a follow up, please fix this doc to reflect reality:\n\n # these resources can be public or not have a \"project_id\" attribute","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"}],"manila/api/v2/router.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                           \"/metadata/{key}\" % path_prefix,"},{"line_number":423,"context_line":"                           controller\u003dself.resources[\"share_network_subnets\"],"},{"line_number":424,"context_line":"                           action\u003d\"update_metadata_item\","},{"line_number":425,"context_line":"                           conditions\u003d{\"method\": [\"POST\"]})"},{"line_number":426,"context_line":"            mapper.connect(\"subnets_metadata\","},{"line_number":427,"context_line":"                           \"%s/share-networks/{share_network_id}\""},{"line_number":428,"context_line":"                           \"/subnets/{resource_id}/metadata\" % path_prefix,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4d57f27d_8b3d473c","line":425,"range":{"start_line":425,"start_character":51,"end_line":425,"end_character":55},"updated":"2023-02-09 13:52:26.000000000","message":"I don\u0027t remember exactly why we set this to POST and I might be missing something, but as the other two are using POST, I\u0027m okay leaving it as is","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":422,"context_line":"                           \"/metadata/{key}\" % path_prefix,"},{"line_number":423,"context_line":"                           controller\u003dself.resources[\"share_network_subnets\"],"},{"line_number":424,"context_line":"                           action\u003d\"update_metadata_item\","},{"line_number":425,"context_line":"                           conditions\u003d{\"method\": [\"POST\"]})"},{"line_number":426,"context_line":"            mapper.connect(\"subnets_metadata\","},{"line_number":427,"context_line":"                           \"%s/share-networks/{share_network_id}\""},{"line_number":428,"context_line":"                           \"/subnets/{resource_id}/metadata\" % path_prefix,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ddd8b289_784e5cf5","line":425,"range":{"start_line":425,"start_character":51,"end_line":425,"end_character":55},"in_reply_to":"4d57f27d_8b3d473c","updated":"2023-02-15 01:24:41.000000000","message":"Just reusing the same approach from share and snpashot metadatas.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ee9a201c91a60dce6a3930002e898c45cc66130b","unresolved":false,"context_lines":[{"line_number":422,"context_line":"                           \"/metadata/{key}\" % path_prefix,"},{"line_number":423,"context_line":"                           controller\u003dself.resources[\"share_network_subnets\"],"},{"line_number":424,"context_line":"                           action\u003d\"update_metadata_item\","},{"line_number":425,"context_line":"                           conditions\u003d{\"method\": [\"POST\"]})"},{"line_number":426,"context_line":"            mapper.connect(\"subnets_metadata\","},{"line_number":427,"context_line":"                           \"%s/share-networks/{share_network_id}\""},{"line_number":428,"context_line":"                           \"/subnets/{resource_id}/metadata\" % path_prefix,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c07ca8e2_90411d7b","line":425,"range":{"start_line":425,"start_character":51,"end_line":425,"end_character":55},"in_reply_to":"ddd8b289_784e5cf5","updated":"2023-02-15 18:55:06.000000000","message":"Ack","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}],"manila/api/v2/share_network_subnets.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":190,"context_line":"        return self._view_builder.build_share_network_subnet("},{"line_number":191,"context_line":"            req, share_network_subnet)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @wsgi.Controller.api_version(\"2.74\")"},{"line_number":194,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":195,"context_line":"    def index_metadata(self, req, share_network_id, resource_id):"},{"line_number":196,"context_line":"        \"\"\"Returns the list of metadata for a given share subnet.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"b066a338_72329925","line":193,"updated":"2023-02-09 13:52:26.000000000","message":"None of this and the below methods are covered by unit tests as per coverage report. Covering this with unit tests should be quite simple, could you please take a look?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ee9a201c91a60dce6a3930002e898c45cc66130b","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        return self._view_builder.build_share_network_subnet("},{"line_number":191,"context_line":"            req, share_network_subnet)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @wsgi.Controller.api_version(\"2.74\")"},{"line_number":194,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":195,"context_line":"    def index_metadata(self, req, share_network_id, resource_id):"},{"line_number":196,"context_line":"        \"\"\"Returns the list of metadata for a given share subnet.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"80b2a137_eb27a049","line":193,"in_reply_to":"1cffe979_266d7b16","updated":"2023-02-15 18:55:06.000000000","message":"Done","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":190,"context_line":"        return self._view_builder.build_share_network_subnet("},{"line_number":191,"context_line":"            req, share_network_subnet)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    @wsgi.Controller.api_version(\"2.74\")"},{"line_number":194,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":195,"context_line":"    def index_metadata(self, req, share_network_id, resource_id):"},{"line_number":196,"context_line":"        \"\"\"Returns the list of metadata for a given share subnet.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"1cffe979_266d7b16","line":193,"in_reply_to":"b066a338_72329925","updated":"2023-02-15 01:24:41.000000000","message":"For sure, done.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"e24a7ea2095755b036727f1bf1e6a2e10a5c0f7c","unresolved":true,"context_lines":[{"line_number":193,"context_line":"    @wsgi.Controller.api_version(\"2.74\")"},{"line_number":194,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":195,"context_line":"    def index_metadata(self, req, share_network_id, resource_id):"},{"line_number":196,"context_line":"        \"\"\"Returns the list of metadata for a given share subnet.\"\"\""},{"line_number":197,"context_line":"        return self._index_metadata(req, resource_id,"},{"line_number":198,"context_line":"                                    parent_id\u003dshare_network_id)"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bdbcc8e7_e7bce196","line":196,"range":{"start_line":196,"start_character":52,"end_line":196,"end_character":64},"updated":"2023-02-03 19:30:26.000000000","message":"nit: share network subnet, same for other methods","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"5d2ea09e9d68c4a518087d23fac9e65837634683","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    @wsgi.Controller.api_version(\"2.74\")"},{"line_number":194,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":195,"context_line":"    def index_metadata(self, req, share_network_id, resource_id):"},{"line_number":196,"context_line":"        \"\"\"Returns the list of metadata for a given share subnet.\"\"\""},{"line_number":197,"context_line":"        return self._index_metadata(req, resource_id,"},{"line_number":198,"context_line":"                                    parent_id\u003dshare_network_id)"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9e7b65c0_f235a9cf","line":196,"range":{"start_line":196,"start_character":52,"end_line":196,"end_character":64},"in_reply_to":"bdbcc8e7_e7bce196","updated":"2023-02-17 11:14:57.000000000","message":"fixed.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}],"manila/db/migrations/alembic/versions/ac0620cbe74d_add_share_network_subnet_metadata.py":[{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"1bd95fc2c85fc0c76ad3af09e475b28e29d77927","unresolved":true,"context_lines":[{"line_number":52,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":53,"context_line":"            mysql_charset\u003d\u0027utf8\u0027"},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"    except Exception:"},{"line_number":56,"context_line":"        LOG.error(\"Table |%s| not created!\","},{"line_number":57,"context_line":"                  share_network_subnet_metadata_table_name)"},{"line_number":58,"context_line":"        raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":2,"id":"d3ed84de_64211c46","line":58,"range":{"start_line":55,"start_character":0,"end_line":58,"end_character":13},"updated":"2023-01-31 15:01:47.000000000","message":"Maybe improve the coverage.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":52,"context_line":"            mysql_engine\u003d\u0027InnoDB\u0027,"},{"line_number":53,"context_line":"            mysql_charset\u003d\u0027utf8\u0027"},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"    except Exception:"},{"line_number":56,"context_line":"        LOG.error(\"Table |%s| not created!\","},{"line_number":57,"context_line":"                  share_network_subnet_metadata_table_name)"},{"line_number":58,"context_line":"        raise"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":2,"id":"9255dd24_d17b7d67","line":58,"range":{"start_line":55,"start_character":0,"end_line":58,"end_character":13},"in_reply_to":"d3ed84de_64211c46","updated":"2023-02-15 01:24:41.000000000","message":"we normally dont cover this kind of code. It is tested by the upgrade/downgrande only.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":33301,"name":"Caique Mello","email":"caiquemellosbo@gmail.com","username":"MelloCaique"},"change_message_id":"1bd95fc2c85fc0c76ad3af09e475b28e29d77927","unresolved":true,"context_lines":[{"line_number":61,"context_line":"def downgrade():"},{"line_number":62,"context_line":"    try:"},{"line_number":63,"context_line":"        op.drop_table(share_network_subnet_metadata_table_name)"},{"line_number":64,"context_line":"    except Exception:"},{"line_number":65,"context_line":"        LOG.error(\"Table |%s| not dropped!\","},{"line_number":66,"context_line":"                  share_network_subnet_metadata_table_name)"},{"line_number":67,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"9bcd63a1_d5aaefcc","line":67,"range":{"start_line":64,"start_character":0,"end_line":67,"end_character":13},"updated":"2023-01-31 15:01:47.000000000","message":"the same.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":61,"context_line":"def downgrade():"},{"line_number":62,"context_line":"    try:"},{"line_number":63,"context_line":"        op.drop_table(share_network_subnet_metadata_table_name)"},{"line_number":64,"context_line":"    except Exception:"},{"line_number":65,"context_line":"        LOG.error(\"Table |%s| not dropped!\","},{"line_number":66,"context_line":"                  share_network_subnet_metadata_table_name)"},{"line_number":67,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":2,"id":"9e802e0f_240315d4","line":67,"range":{"start_line":64,"start_character":0,"end_line":67,"end_character":13},"in_reply_to":"9bcd63a1_d5aaefcc","updated":"2023-02-15 01:24:41.000000000","message":"we normally dont cover this kind of code. It is tested by the upgrade/downgrande only.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"550242ecd5863ee82e8f046cab86dda19ff7303c","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u0027ac0620cbe74d\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u0027bb5938d74b73\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":7,"id":"77ddf58a_428bd8bb","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":5},"updated":"2023-02-17 13:04:04.000000000","message":"down revision is incorrect: https://review.opendev.org/c/openstack/manila/+/855220/15/manila/db/migrations/alembic/versions/c476aeb186ec_add_default_ad_site_to_security_service.py#23\n\nthis change I mentioned has landed and it has the down revision you\u0027re pointing out. Your down revision should be the one from line 22 in the indicated change.","commit_id":"e67d82b560f34e310379f3d69cf1890a94137ce5"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f71ac48b_e8ea18c7","updated":"2023-02-21 00:15:57.000000000","message":"Another call out with the methods being added here is that we\u0027re transitioning to using new context decorators from oslo_db which are capable of handling sessions and rewriting our queries to use the context.session instead of creating sessions in the queries. See https://review.opendev.org/c/openstack/manila/+/872160 for example.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"39dd14fd_40855c2c","line":4528,"updated":"2023-02-09 13:52:26.000000000","message":"some coverage missing in the tests below - could you please take a look?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"8e53b8cf_a54cbf09","line":4528,"in_reply_to":"39dd14fd_40855c2c","updated":"2023-02-15 01:24:41.000000000","message":"Which one do you mean ?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"279cb9ea0003b8f1d0262ca98454a668880369a2","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"af3826c0_83280e7e","line":4528,"in_reply_to":"4e758fd5_51075eb0","updated":"2023-02-20 19:20:55.000000000","message":"Sounds okay to mee - let\u0027s wait on other reviewers\u0027 feedback :)","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"d53999cd1ac3ba3e6d4f1eb27c1b30693c386d31","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4e758fd5_51075eb0","line":4528,"in_reply_to":"7618a7be_bf3bf6e0","updated":"2023-02-20 19:19:54.000000000","message":"I see.. I can do it in a follow up patch together with the \"Maximum in Antelope\", wdyt ?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"834a29e8bccaf595223e90017f92328180afdcb9","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7618a7be_bf3bf6e0","line":4528,"in_reply_to":"8e53b8cf_a54cbf09","updated":"2023-02-20 14:11:42.000000000","message":"Mostly the code from queries, where we\u0027d write db tests for this file, i.e. https://dbb81afc32a513767821-32e19aab5c30ebc59039fa10c249436d.ssl.cf2.rackcdn.com/869707/8/check/openstack-tox-cover/9a1f6dc/cover/d_74cf6eae3f8ed89e_api_py.html#t4851","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":true,"context_lines":[{"line_number":4525,"context_line":""},{"line_number":4526,"context_line":"@require_context"},{"line_number":4527,"context_line":"@require_share_network_subnet_exists"},{"line_number":4528,"context_line":"def share_network_subnet_metadata_get(context, share_network_subnet_id):"},{"line_number":4529,"context_line":"    session \u003d get_session()"},{"line_number":4530,"context_line":"    return _share_network_subnet_metadata_get(context, share_network_subnet_id,"},{"line_number":4531,"context_line":"                                              session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d5f0d0e_52bbbda1","line":4528,"in_reply_to":"af3826c0_83280e7e","updated":"2023-02-21 00:15:57.000000000","message":"+1 Lets get one more unit test case added to cover _share_network_subnet_metadata_update with delete\u003dTrue...","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":4607,"context_line":"    session \u003d session or get_session()"},{"line_number":4608,"context_line":"    delete \u003d strutils.bool_from_string(delete)"},{"line_number":4609,"context_line":"    with session.begin():"},{"line_number":4610,"context_line":"        if delete:"},{"line_number":4611,"context_line":"            original_metadata \u003d _share_network_subnet_metadata_get("},{"line_number":4612,"context_line":"                context, share_network_subnet_id, session\u003dsession)"},{"line_number":4613,"context_line":"            for meta_key, meta_value in original_metadata.items():"},{"line_number":4614,"context_line":"                if meta_key not in metadata:"},{"line_number":4615,"context_line":"                    meta_ref \u003d _share_network_subnet_metadata_get_item("},{"line_number":4616,"context_line":"                        context, share_network_subnet_id, meta_key,"},{"line_number":4617,"context_line":"                        session\u003dsession)"},{"line_number":4618,"context_line":"                    meta_ref.soft_delete(session\u003dsession)"},{"line_number":4619,"context_line":"        meta_ref \u003d None"},{"line_number":4620,"context_line":"        # Now update all existing items with new values, or create new meta"},{"line_number":4621,"context_line":"        # objects."}],"source_content_type":"text/x-python","patch_set":2,"id":"cd91519b_bfd87aa8","line":4618,"range":{"start_line":4610,"start_character":8,"end_line":4618,"end_character":57},"updated":"2023-02-09 13:52:26.000000000","message":"is there a case where we delete and update metadata in the same request? if not, in case of delete we could possibly return after we execute everything inside this condition. Is there something I\u0027m missing?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"834a29e8bccaf595223e90017f92328180afdcb9","unresolved":false,"context_lines":[{"line_number":4607,"context_line":"    session \u003d session or get_session()"},{"line_number":4608,"context_line":"    delete \u003d strutils.bool_from_string(delete)"},{"line_number":4609,"context_line":"    with session.begin():"},{"line_number":4610,"context_line":"        if delete:"},{"line_number":4611,"context_line":"            original_metadata \u003d _share_network_subnet_metadata_get("},{"line_number":4612,"context_line":"                context, share_network_subnet_id, session\u003dsession)"},{"line_number":4613,"context_line":"            for meta_key, meta_value in original_metadata.items():"},{"line_number":4614,"context_line":"                if meta_key not in metadata:"},{"line_number":4615,"context_line":"                    meta_ref \u003d _share_network_subnet_metadata_get_item("},{"line_number":4616,"context_line":"                        context, share_network_subnet_id, meta_key,"},{"line_number":4617,"context_line":"                        session\u003dsession)"},{"line_number":4618,"context_line":"                    meta_ref.soft_delete(session\u003dsession)"},{"line_number":4619,"context_line":"        meta_ref \u003d None"},{"line_number":4620,"context_line":"        # Now update all existing items with new values, or create new meta"},{"line_number":4621,"context_line":"        # objects."}],"source_content_type":"text/x-python","patch_set":2,"id":"f73a4984_fe480f2d","line":4618,"range":{"start_line":4610,"start_character":8,"end_line":4618,"end_character":57},"in_reply_to":"b0c4b472_69eefba2","updated":"2023-02-20 14:11:42.000000000","message":"Ack","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":4607,"context_line":"    session \u003d session or get_session()"},{"line_number":4608,"context_line":"    delete \u003d strutils.bool_from_string(delete)"},{"line_number":4609,"context_line":"    with session.begin():"},{"line_number":4610,"context_line":"        if delete:"},{"line_number":4611,"context_line":"            original_metadata \u003d _share_network_subnet_metadata_get("},{"line_number":4612,"context_line":"                context, share_network_subnet_id, session\u003dsession)"},{"line_number":4613,"context_line":"            for meta_key, meta_value in original_metadata.items():"},{"line_number":4614,"context_line":"                if meta_key not in metadata:"},{"line_number":4615,"context_line":"                    meta_ref \u003d _share_network_subnet_metadata_get_item("},{"line_number":4616,"context_line":"                        context, share_network_subnet_id, meta_key,"},{"line_number":4617,"context_line":"                        session\u003dsession)"},{"line_number":4618,"context_line":"                    meta_ref.soft_delete(session\u003dsession)"},{"line_number":4619,"context_line":"        meta_ref \u003d None"},{"line_number":4620,"context_line":"        # Now update all existing items with new values, or create new meta"},{"line_number":4621,"context_line":"        # objects."}],"source_content_type":"text/x-python","patch_set":2,"id":"b0c4b472_69eefba2","line":4618,"range":{"start_line":4610,"start_character":8,"end_line":4618,"end_character":57},"in_reply_to":"cd91519b_bfd87aa8","updated":"2023-02-15 01:24:41.000000000","message":"The code here is using the same approach as the snapshot metadata to keep compatibility among metadata resources: see function \"_share_snapshot_metadata_update\". Given that the functions are API for accessing the db, they are trying to deliver the possibility of cleaning up before the update.  However, both share snapshots and share subnets functions are not using that possibility.\n\nReturning after the delete means that this function is either deleing or updating. That\u0027s is not the goal here. The idea of this function is to be called when you want to update metadata cleaning the metadata before it. The idea is not to delete or update. For deleting without an update there is the function \"share_network_subnet_metadata_delete\".\n\nWhat I mean is: we can remove the possibility of cleaning before updating, since calls are not using this possibility. The downside is that this methods are called agnosticly by metadata helper, so we should to remove this behavior from all metadata db APIs. I wouldn\u0027t like to change other metadata resources.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}],"manila/db/sqlalchemy/models.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":1058,"context_line":"    @property"},{"line_number":1059,"context_line":"    def subnet_metadata(self):"},{"line_number":1060,"context_line":"        metadata_dict \u003d {}"},{"line_number":1061,"context_line":"        metadata_list \u003d ("},{"line_number":1062,"context_line":"            self.share_network_subnet_metadata)  # pylint: disable\u003dno-member"},{"line_number":1063,"context_line":"        for meta in metadata_list:"},{"line_number":1064,"context_line":"            metadata_dict[meta[\u0027key\u0027]] \u003d meta[\u0027value\u0027]"},{"line_number":1065,"context_line":"        return metadata_dict"}],"source_content_type":"text/x-python","patch_set":2,"id":"8c52eec2_f55fa0e2","line":1062,"range":{"start_line":1061,"start_character":8,"end_line":1062,"end_character":76},"updated":"2023-02-09 13:52:26.000000000","message":"nit: no specific need for this variable","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":1058,"context_line":"    @property"},{"line_number":1059,"context_line":"    def subnet_metadata(self):"},{"line_number":1060,"context_line":"        metadata_dict \u003d {}"},{"line_number":1061,"context_line":"        metadata_list \u003d ("},{"line_number":1062,"context_line":"            self.share_network_subnet_metadata)  # pylint: disable\u003dno-member"},{"line_number":1063,"context_line":"        for meta in metadata_list:"},{"line_number":1064,"context_line":"            metadata_dict[meta[\u0027key\u0027]] \u003d meta[\u0027value\u0027]"},{"line_number":1065,"context_line":"        return metadata_dict"}],"source_content_type":"text/x-python","patch_set":2,"id":"053715d3_77fed1e3","line":1062,"range":{"start_line":1061,"start_character":8,"end_line":1062,"end_character":76},"in_reply_to":"8c52eec2_f55fa0e2","updated":"2023-02-15 01:24:41.000000000","message":"just create the variable separately to let clear the pylint message, instead of adding to the for loop.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a2b08bbfdd38bb68c3c021868bfa7667c41d6478","unresolved":true,"context_lines":[{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"    @property"},{"line_number":1060,"context_line":"    def subnet_metadata(self):"},{"line_number":1061,"context_line":"        metadata_dict \u003d {}"},{"line_number":1062,"context_line":"        metadata_list \u003d ("},{"line_number":1063,"context_line":"            self.share_network_subnet_metadata)  # pylint: disable\u003dno-member"},{"line_number":1064,"context_line":"        for meta in metadata_list:"},{"line_number":1065,"context_line":"            metadata_dict[meta[\u0027key\u0027]] \u003d meta[\u0027value\u0027]"},{"line_number":1066,"context_line":"        return metadata_dict"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"class ShareNetworkSubnetMetadata(BASE, ManilaBase):"}],"source_content_type":"text/x-python","patch_set":8,"id":"420897ce_9b9551de","line":1066,"range":{"start_line":1061,"start_character":8,"end_line":1066,"end_character":28},"updated":"2023-02-21 00:15:57.000000000","message":"Why not just use:\n\n self.share_network_subnet_metadata.to_dict()","commit_id":"43de2e8fb5871f2ae73ba458f61e293ec093d7ef"}],"manila/policies/share_network_subnet.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"492131c56040911f212843db78daad039da041da","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":53,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":54,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":55,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":56,"context_line":")"},{"line_number":57,"context_line":"deprecated_delete_subnet_metadata \u003d policy.DeprecatedRule("},{"line_number":58,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"62d6ef30_9276f4ef","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":26},"updated":"2023-02-09 13:52:26.000000000","message":"This should follow wallaby here and below iirc :)","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"5d2ea09e9d68c4a518087d23fac9e65837634683","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":53,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":54,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":55,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":56,"context_line":")"},{"line_number":57,"context_line":"deprecated_delete_subnet_metadata \u003d policy.DeprecatedRule("},{"line_number":58,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"4eb22c54_b6e20e9b","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":26},"in_reply_to":"39b41a33_d261792c","updated":"2023-02-17 11:14:57.000000000","message":"Nice explanation Goutham. Thank you to clarify. Fixed in next patch.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":53,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":54,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":55,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":56,"context_line":")"},{"line_number":57,"context_line":"deprecated_delete_subnet_metadata \u003d policy.DeprecatedRule("},{"line_number":58,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab1f8e04_80111e7b","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":26},"in_reply_to":"5b4b592d_6ad6ddb3","updated":"2023-02-15 01:24:41.000000000","message":"Can I remove the deprecation or set it to Wallaby ?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"c82b8ba1ebfa3d6f990ce97c2d1f440f9d5dec41","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":53,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":54,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":55,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":56,"context_line":")"},{"line_number":57,"context_line":"deprecated_delete_subnet_metadata \u003d policy.DeprecatedRule("},{"line_number":58,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5b4b592d_6ad6ddb3","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":26},"in_reply_to":"62d6ef30_9276f4ef","updated":"2023-02-09 16:10:51.000000000","message":"Isn\u0027t it possible to just not add those deprecated rules at all?","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7eaaac39c61b6f7da1724cefe01bb9e79926ea9e","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":53,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":54,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":55,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":56,"context_line":")"},{"line_number":57,"context_line":"deprecated_delete_subnet_metadata \u003d policy.DeprecatedRule("},{"line_number":58,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"39b41a33_d261792c","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":26},"in_reply_to":"ab1f8e04_80111e7b","updated":"2023-02-16 00:38:58.000000000","message":"It needs to be \"ANTELOPE\" not ZED or wallaby, since these policies are being introduced in the Antelope release.\n\nTo answer the second question on why these are even needed:\n\nCurrently, all manila RBAC policies are undergoing a prolonged change [3] to support two new concepts: the use of \"scope\" on user accounts, and the default \"reader\" role from Keystone. This extended duration deprecation is painful, but done so as to not break deployments. The \"new\" RBAC rules require the use of \"scope\" in existing user accounts, and allow for a \"reader\" role to be attached to users. While the latter is an easy transition, requiring scope may break existing user accounts created on existing clouds. \n\nAcross the community, we had a goal of supporting system scope in all the projects and manila policies experimented with this change in Wallaby. However, during subsequent PTGs and ops meetups, we discovered that operators didn\u0027t like the \"system\" scope; they preferred that we implement an \"admin\" role consistently across services and that the \"admin\" role be allowed cross tenant super user privileges as it currently is. So, we made another change in Zed removing support for \"system\" scoped users.\n\nIn Antelope, nova and glance [1][2] are switching the new rules to apply by default. In Bobcat, manila will do the same. We will be dropping all these deprecated rules in the \"C\" (2024.1) release. \n\nUntil the removal, introducing new policies will require us to support both scoped and unscoped users as well as existing roles (just \"member\" and \"admin\" by default) and new roles (\"member\", \"admin\" and \"reader\") - This is why we have the deprecations piling up. One could argue that this makes no sense for net _new_ APIs- however, having these deprecated rules will allow an existing cloud to separate concerns and implement the RBAC transition separately from their need to use the new features.\n\n\n[1] https://review.opendev.org/c/openstack/nova/+/866218\n[2] https://review.opendev.org/c/openstack/glance/+/873372\n[3] https://governance.openstack.org/tc/goals/selected/consistent-and-secure-rbac.html","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}],"manila/share/manager.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"c82b8ba1ebfa3d6f990ce97c2d1f440f9d5dec41","unresolved":true,"context_lines":[{"line_number":4126,"context_line":"                \u0027admin_network_allocations\u0027: admin_network_allocations,"},{"line_number":4127,"context_line":"                \u0027backend_details\u0027: share_server.get(\u0027backend_details\u0027),"},{"line_number":4128,"context_line":"                \u0027network_type\u0027: share_network_subnet[\u0027network_type\u0027],"},{"line_number":4129,"context_line":"                \u0027metadata\u0027: share_network_subnet[\u0027subnet_metadata\u0027]"},{"line_number":4130,"context_line":"            })"},{"line_number":4131,"context_line":"        return network_info"},{"line_number":4132,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"31c7e6b4_538a836d","line":4129,"range":{"start_line":4129,"start_character":17,"end_line":4129,"end_character":25},"updated":"2023-02-09 16:10:51.000000000","message":"No need to cut the \u0027subnet\u0027 prefix imho.\n\nIt makes adding another type of metadata easier, if we ever need to do this in the future.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"ddb2c9af803bbd4b5f84a4baa1c9eee37a8d53b5","unresolved":true,"context_lines":[{"line_number":4126,"context_line":"                \u0027admin_network_allocations\u0027: admin_network_allocations,"},{"line_number":4127,"context_line":"                \u0027backend_details\u0027: share_server.get(\u0027backend_details\u0027),"},{"line_number":4128,"context_line":"                \u0027network_type\u0027: share_network_subnet[\u0027network_type\u0027],"},{"line_number":4129,"context_line":"                \u0027metadata\u0027: share_network_subnet[\u0027subnet_metadata\u0027]"},{"line_number":4130,"context_line":"            })"},{"line_number":4131,"context_line":"        return network_info"},{"line_number":4132,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"79bf36af_4201ef7b","line":4129,"range":{"start_line":4129,"start_character":17,"end_line":4129,"end_character":25},"in_reply_to":"31c7e6b4_538a836d","updated":"2023-02-15 01:24:41.000000000","message":"got it, changed.","commit_id":"d6acf44e845f0b78c717a14a44136a5c2d048858"}]}
