)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0e46912d8a1bd79c004aebd6eb1725c9861acc1b","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds support for Share Export Locations in the"},{"line_number":10,"context_line":"Metadata Controller."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Ashley Rodriguez \u003cashrod98@gmail.com\u003e"},{"line_number":13,"context_line":"Change-Id: Icf096a5cbc650f02eca68d714c876eb854499b9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"1172dd24_d6df3474","line":11,"updated":"2024-08-28 18:52:45.000000000","message":"Partially-implements: bp metadata-for-share-resources","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds support for Share Export Locations in the"},{"line_number":10,"context_line":"Metadata Controller."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Ashley Rodriguez \u003cashrod98@gmail.com\u003e"},{"line_number":13,"context_line":"Change-Id: Icf096a5cbc650f02eca68d714c876eb854499b9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"cbb2adf3_c252a338","line":11,"in_reply_to":"1172dd24_d6df3474","updated":"2024-08-28 22:46:59.000000000","message":"Done","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6a717e63814abfacbd64d6015f6dab71d003db6b","unresolved":true,"context_lines":[{"line_number":10,"context_line":"Metadata Controller."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Ashley Rodriguez \u003cashrod98@gmail.com\u003e"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":"Change-Id: Icf096a5cbc650f02eca68d714c876eb854499b9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"bebbab0f_c7b06159","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"updated":"2024-09-03 22:19:55.000000000","message":"`Partially-implements: bp metadata-for-share-resources`\n\nSpace, not \"/\" in this.. the bot doesn\u0027t recognize another format.","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"16e71c9004d18dddb435b55ff426cd4fd9a3cd76","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Metadata Controller."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Ashley Rodriguez \u003cashrod98@gmail.com\u003e"},{"line_number":13,"context_line":"Partially-implements: bp/metadata-for-share-resources"},{"line_number":14,"context_line":"Change-Id: Icf096a5cbc650f02eca68d714c876eb854499b9b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"87b098f7_b05a4c80","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"in_reply_to":"bebbab0f_c7b06159","updated":"2024-09-04 21:42:02.000000000","message":"Done","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"7b9f6952a3a713ddd09ef53939c855abdc8adcc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"de4d6b0d_05c521a6","updated":"2023-12-05 18:15:41.000000000","message":"recheck old logs","commit_id":"2367bd727b935cf294be5abde0c4dfb1b16d57b2"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"fdd10fa62c01be443d6cfb1581a6096cb8772884","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"f997d1b4_8ec5a558","updated":"2024-08-14 07:35:48.000000000","message":"Thanks, I had a brief look - just some minor nits inline.","commit_id":"128b482f8b51508582bb636874cfae68eb7a5eb2"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"2f82a4c81b27ac3bd5e5e51dcee60325625b006f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"5bd24f71_375e261f","updated":"2024-08-15 22:00:39.000000000","message":"run Pure Storage CI","commit_id":"ccba538c3899726b652b30928c71ea733912006e"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"cf8c09b7275902ed1bff765ef061790d1d5ef0bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"7e8ee268_ef07c256","updated":"2024-08-16 03:53:02.000000000","message":"run Pure Storage CI","commit_id":"ccba538c3899726b652b30928c71ea733912006e"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e27d658a0ba66085e20f377658b0027a2e4e6bce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"31ef0d10_ed28118f","updated":"2024-08-22 18:43:43.000000000","message":"Hey, thank you for working on this change!\nHave some comments inline, please take a look. I have also noted two other things:\n- We could have some more unit tests for this change, as shows the coverage report [1]\n- This change also needs a release note","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0e46912d8a1bd79c004aebd6eb1725c9861acc1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a8c843e4_3d8e771b","updated":"2024-08-28 18:52:45.000000000","message":"Thank you Ashley for continuing the work here. Couple of minor comments already; i\u0027m still reviewing the rest of the change. It also needs a release note","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"22a168dc918bb3a5c31ea83f3833d60ae1d97cb2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"6d1a6d72_7bd4cbe9","updated":"2024-08-22 02:40:10.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"a9e4b44a487f0a53c03135b00195020a3f597646","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a83b93d0_10a4e916","updated":"2024-08-22 02:32:03.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5b81f4bae36c0a6faee3b38ff243517f3093567a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"aae2c3e3_e30148df","in_reply_to":"31ef0d10_ed28118f","updated":"2024-08-22 18:49:54.000000000","message":"[1] https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_3d3/887543/22/check/openstack-tox-cover/3d330cd/cover/z_18fb795c8d5970e6_share_export_locations_py.html","commit_id":"27eb02098d5b85901c03d08342f878ad9e6e02a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c6aba355_c273d580","updated":"2024-08-28 22:46:59.000000000","message":"Thank you Ashley; several comments inline","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eee398de9d2581290c4be75a9bee06be1656b14b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"f752237f_0b4bb74e","updated":"2024-08-28 21:15:12.000000000","message":"Thanks for the release note and for adding the config option to this change. Added some minor comments inline. Please take a look :)","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e0e80e0dae3f253b19281f4de3ec282c01c0d66e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"7488e993_92085304","updated":"2024-08-30 22:17:46.000000000","message":"/me hit +2 accidentally, meant +1\nLet\u0027s look at what CI tells us","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"69db77b61d219cd21ae068256b225871607d9acb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"b9a2ee4e_159c2119","updated":"2024-09-03 17:19:27.000000000","message":"@ashrod98@redhat.com - question inline regarding RBAC enforcement on the share resource..","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ad1c92493b1a1797836c70f154b9f99210b3215c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"f4105ec0_2494f2c8","updated":"2024-08-30 22:15:19.000000000","message":"LGTM, thank you for working on this feature :)","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"34a2b35a81679c8239742ea2fb68eb1b5df3e108","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"d9f1d470_49896745","updated":"2024-09-05 21:05:13.000000000","message":"Just did some testing on the latest PS: https://paste.opendev.org/show/bcmcDXfAKovCOvBvl5rQ/\nWorks just fine, thank you :D","commit_id":"2016062027eed83184fbb962d234049131ae0e61"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"03d6f6f10baf6193fd53eae9d2af14e059271643","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"58eac29c_caf0b4f7","updated":"2024-09-05 17:49:59.000000000","message":"LGTM, thank you for working on this change! :D","commit_id":"2016062027eed83184fbb962d234049131ae0e61"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b22128ad7854e05f2936f93b8b4e46a6e9acbb20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"a202e089_36866a4d","updated":"2024-09-05 21:42:25.000000000","message":"Lets see if the tempest tests raise any bugs..there\u0027s a call out in the API RBAC enforcement, ptal and include that fix in a follow up change\n\nThanks Ashley!","commit_id":"2016062027eed83184fbb962d234049131ae0e61"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dcbae565e3e105efcc2dfed6055d3c4e481dea3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"dcbf9530_c22ac882","updated":"2024-09-04 21:53:59.000000000","message":"Waiting on CI","commit_id":"2016062027eed83184fbb962d234049131ae0e61"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0fd9f1d14f77d9c94070ec7bdfdf49addd6b0b73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"77ef4e6f_bcfb5eb5","updated":"2024-09-06 09:32:39.000000000","message":"recheck\ntest_read_write_two_vms timeout issue *eeagain* in the lvm job. Let\u0027s give it another try","commit_id":"2016062027eed83184fbb962d234049131ae0e61"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"4ed1ebe126bb6f3f2cef7f61b4b30c4a6eb36881","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"a89c3aeb_c9b34dad","updated":"2024-09-05 15:02:21.000000000","message":"recheck lvm failure","commit_id":"2016062027eed83184fbb962d234049131ae0e61"}],"manila/api/openstack/api_version_request.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"14f50f426bfb91fbfa934799fc8498b567c438d8","unresolved":true,"context_lines":[{"line_number":203,"context_line":"    * 2.83 - Added \u0027disabled_reason\u0027 field to services."},{"line_number":204,"context_line":"    * 2.84 - Added mount_point_name to shares."},{"line_number":205,"context_line":"    * 2.85 - Added backup_type field to share backups."},{"line_number":206,"context_line":"    * 2.86 - Added Share export location metadata API"},{"line_number":207,"context_line":"\"\"\""},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":28,"id":"44ee0a76_d2d641f6","line":206,"range":{"start_line":206,"start_character":0,"end_line":206,"end_character":53},"updated":"2024-09-03 23:05:58.000000000","message":"Please rebase on top of https://review.opendev.org/c/openstack/manila/+/924279\nThe API version needs to be bumped to 2.87","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"16e71c9004d18dddb435b55ff426cd4fd9a3cd76","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    * 2.83 - Added \u0027disabled_reason\u0027 field to services."},{"line_number":204,"context_line":"    * 2.84 - Added mount_point_name to shares."},{"line_number":205,"context_line":"    * 2.85 - Added backup_type field to share backups."},{"line_number":206,"context_line":"    * 2.86 - Added Share export location metadata API"},{"line_number":207,"context_line":"\"\"\""},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":28,"id":"948f1170_5284261b","line":206,"range":{"start_line":206,"start_character":0,"end_line":206,"end_character":53},"in_reply_to":"44ee0a76_d2d641f6","updated":"2024-09-04 21:42:02.000000000","message":"Done","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"}],"manila/api/v2/metadata.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"fdd10fa62c01be443d6cfb1581a6096cb8772884","unresolved":true,"context_lines":[{"line_number":28,"context_line":"        \"share\": \"share_get\","},{"line_number":29,"context_line":"        \"share_snapshot\": \"share_snapshot_get\","},{"line_number":30,"context_line":"        \"share_network_subnet\": \"share_network_subnet_get\","},{"line_number":31,"context_line":"        \"share_export_location\": \"export_location_get_by_uuid\""},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    resource_metadata_get \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"da2c210e_ba8aa1b1","line":31,"range":{"start_line":31,"start_character":33,"end_line":31,"end_character":62},"updated":"2024-08-14 07:35:48.000000000","message":"If you upload another patch set, you might want to add a comma for consistency.\n\nSame for the other occurrences below","commit_id":"128b482f8b51508582bb636874cfae68eb7a5eb2"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"762dcac7887e3e4652607140b02235366bd56619","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \"share\": \"share_get\","},{"line_number":29,"context_line":"        \"share_snapshot\": \"share_snapshot_get\","},{"line_number":30,"context_line":"        \"share_network_subnet\": \"share_network_subnet_get\","},{"line_number":31,"context_line":"        \"share_export_location\": \"export_location_get_by_uuid\""},{"line_number":32,"context_line":"    }"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    resource_metadata_get \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"6d1e449c_933467ea","line":31,"range":{"start_line":31,"start_character":33,"end_line":31,"end_character":62},"in_reply_to":"da2c210e_ba8aa1b1","updated":"2024-08-19 17:12:23.000000000","message":"Done","commit_id":"128b482f8b51508582bb636874cfae68eb7a5eb2"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"fdd10fa62c01be443d6cfb1581a6096cb8772884","unresolved":true,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    @wsgi.response(200)"},{"line_number":129,"context_line":"    def _index_metadata(self, req, resource_id, parent_id\u003dNone):"},{"line_number":130,"context_line":"        \"\"\"Lists exsisting metadata.\"\"\""},{"line_number":131,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":132,"context_line":"        metadata \u003d self._get_metadata(context, resource_id,"},{"line_number":133,"context_line":"                                      parent_id\u003dparent_id)"}],"source_content_type":"text/x-python","patch_set":16,"id":"ceab2142_ee0646b5","line":130,"range":{"start_line":130,"start_character":17,"end_line":130,"end_character":26},"updated":"2024-08-14 07:35:48.000000000","message":"existing","commit_id":"128b482f8b51508582bb636874cfae68eb7a5eb2"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"762dcac7887e3e4652607140b02235366bd56619","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    @wsgi.response(200)"},{"line_number":129,"context_line":"    def _index_metadata(self, req, resource_id, parent_id\u003dNone):"},{"line_number":130,"context_line":"        \"\"\"Lists exsisting metadata.\"\"\""},{"line_number":131,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":132,"context_line":"        metadata \u003d self._get_metadata(context, resource_id,"},{"line_number":133,"context_line":"                                      parent_id\u003dparent_id)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f3e4d90_275fff99","line":130,"range":{"start_line":130,"start_character":17,"end_line":130,"end_character":26},"in_reply_to":"ceab2142_ee0646b5","updated":"2024-08-19 17:12:23.000000000","message":"Done","commit_id":"128b482f8b51508582bb636874cfae68eb7a5eb2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":81,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"},{"line_number":82,"context_line":"        if self.resource_name in [\u0027share\u0027, \u0027share_network_subnet\u0027,"},{"line_number":83,"context_line":"                                  \u0027share_export_location\u0027]:"},{"line_number":84,"context_line":"            # we would allow retrieving some \"public\" resources"},{"line_number":85,"context_line":"            # across project namespaces except share snapshots,"},{"line_number":86,"context_line":"            # project_only\u003dTrue is hard coded"},{"line_number":87,"context_line":"            kwargs \u003d {}"},{"line_number":88,"context_line":"        else:"},{"line_number":89,"context_line":"            kwargs \u003d {\u0027project_only\u0027: True}"}],"source_content_type":"text/x-python","patch_set":23,"id":"77453d2d_d7cc6818","line":86,"range":{"start_line":84,"start_character":12,"end_line":86,"end_character":45},"updated":"2024-08-28 22:46:59.000000000","message":"We should update this note.. \n\n\n\n```suggestion\n            # some resources don\u0027t have a \"project_id\" field (like\n            # share_export_location or share_network_subnet,\n            # and sometimes we want to retrieve \"public\" resources\n            # (like shares), so avoid hard coding project_only\u003dTrue in the\n            # lookup where necessary\n```","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                      for_modification\u003dFalse, parent_id\u003dNone):"},{"line_number":82,"context_line":"        if self.resource_name in [\u0027share\u0027, \u0027share_network_subnet\u0027,"},{"line_number":83,"context_line":"                                  \u0027share_export_location\u0027]:"},{"line_number":84,"context_line":"            # we would allow retrieving some \"public\" resources"},{"line_number":85,"context_line":"            # across project namespaces except share snapshots,"},{"line_number":86,"context_line":"            # project_only\u003dTrue is hard coded"},{"line_number":87,"context_line":"            kwargs \u003d {}"},{"line_number":88,"context_line":"        else:"},{"line_number":89,"context_line":"            kwargs \u003d {\u0027project_only\u0027: True}"}],"source_content_type":"text/x-python","patch_set":23,"id":"778666f8_c5d25386","line":86,"range":{"start_line":84,"start_character":12,"end_line":86,"end_character":45},"in_reply_to":"77453d2d_d7cc6818","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":94,"context_line":"                kwargs[\"parent_id\"] \u003d parent_id"},{"line_number":95,"context_line":"            res \u003d get_res_method(context, resource_id, **kwargs)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"            get_policy \u003d self.resource_policy_get[self.resource_name]"},{"line_number":98,"context_line":"            if self.resource_name not in [\"share_export_location\"]:"},{"line_number":99,"context_line":"                # skip policy check for export locations"},{"line_number":100,"context_line":"                if res.get(\u0027is_public\u0027) is False:"}],"source_content_type":"text/x-python","patch_set":23,"id":"37110479_2d89c86d","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":69},"updated":"2024-08-28 22:46:59.000000000","message":"if you move this line into the if condition below, you can delete line 73..","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                kwargs[\"parent_id\"] \u003d parent_id"},{"line_number":95,"context_line":"            res \u003d get_res_method(context, resource_id, **kwargs)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"            get_policy \u003d self.resource_policy_get[self.resource_name]"},{"line_number":98,"context_line":"            if self.resource_name not in [\"share_export_location\"]:"},{"line_number":99,"context_line":"                # skip policy check for export locations"},{"line_number":100,"context_line":"                if res.get(\u0027is_public\u0027) is False:"}],"source_content_type":"text/x-python","patch_set":23,"id":"f005f19c_8e0b86bf","line":97,"range":{"start_line":97,"start_character":12,"end_line":97,"end_character":69},"in_reply_to":"37110479_2d89c86d","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6d5c4fd9003e777c825322764ea37795c16c38f","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        if self.resource_name in [\u0027share\u0027, \u0027share_network_subnet\u0027,"},{"line_number":82,"context_line":"                                  \u0027share_export_location\u0027]:"},{"line_number":83,"context_line":"            # some resources don\u0027t have a \"project_id\" field (like"},{"line_number":84,"context_line":"            # share_export_location or share_network_subnet,"},{"line_number":85,"context_line":"            # and sometimes we want to retrieve \"public\" resources"},{"line_number":86,"context_line":"            # (like shares), so avoid hard coding project_only\u003dTrue in the"},{"line_number":87,"context_line":"            # lookup where necessary"}],"source_content_type":"text/x-python","patch_set":24,"id":"942ec385_8bc02fb4","line":84,"range":{"start_line":84,"start_character":59,"end_line":84,"end_character":60},"updated":"2024-08-30 01:02:27.000000000","message":"close parentheses","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"8c7157578a1e66188b14ad41e9ce7c084f4a84fe","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        if self.resource_name in [\u0027share\u0027, \u0027share_network_subnet\u0027,"},{"line_number":82,"context_line":"                                  \u0027share_export_location\u0027]:"},{"line_number":83,"context_line":"            # some resources don\u0027t have a \"project_id\" field (like"},{"line_number":84,"context_line":"            # share_export_location or share_network_subnet,"},{"line_number":85,"context_line":"            # and sometimes we want to retrieve \"public\" resources"},{"line_number":86,"context_line":"            # (like shares), so avoid hard coding project_only\u003dTrue in the"},{"line_number":87,"context_line":"            # lookup where necessary"}],"source_content_type":"text/x-python","patch_set":24,"id":"20620062_f657a412","line":84,"range":{"start_line":84,"start_character":59,"end_line":84,"end_character":60},"in_reply_to":"942ec385_8bc02fb4","updated":"2024-08-30 15:57:09.000000000","message":"Done","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"}],"manila/api/v2/share_export_locations.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e27d658a0ba66085e20f377658b0027a2e4e6bce","unresolved":true,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":103,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":104,"context_line":"        admin_metadata_ignore_keys \u003d [\u0027preferred\u0027]"},{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"7b23c563_91c9fafc","line":104,"range":{"start_line":104,"start_character":37,"end_line":104,"end_character":50},"updated":"2024-08-22 18:43:43.000000000","message":"maybe we should move this to the constants file or make it configurable?\nI don\u0027t think we will ever allow `preferred` to be modified, so I am good if it is just moved as a constant to the constants file for now :)","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":103,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":104,"context_line":"        admin_metadata_ignore_keys \u003d [\u0027preferred\u0027]"},{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"82a68bf9_95ef6756","line":104,"range":{"start_line":104,"start_character":37,"end_line":104,"end_character":50},"in_reply_to":"02a99b50_69de8824","updated":"2024-08-28 22:46:59.000000000","message":"Done","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0e46912d8a1bd79c004aebd6eb1725c9861acc1b","unresolved":true,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":103,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":104,"context_line":"        admin_metadata_ignore_keys \u003d [\u0027preferred\u0027]"},{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"}],"source_content_type":"text/x-python","patch_set":21,"id":"02a99b50_69de8824","line":104,"range":{"start_line":104,"start_character":37,"end_line":104,"end_character":50},"in_reply_to":"7b23c563_91c9fafc","updated":"2024-08-28 18:52:45.000000000","message":"I think config would be consistent; fairly certain admins will want to control this..","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e27d658a0ba66085e20f377658b0027a2e4e6bce","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        admin_metadata_ignore_keys \u003d [\u0027preferred\u0027]"},{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"},{"line_number":108,"context_line":"            if context.is_admin is False:"},{"line_number":109,"context_line":"                msg \u003d _(\"Cannot set or update admin only metadata.\")"},{"line_number":110,"context_line":"                LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":21,"id":"2d089cbf_66a251ee","line":107,"range":{"start_line":107,"start_character":22,"end_line":107,"end_character":37},"updated":"2024-08-22 18:43:43.000000000","message":"please add a more descriptive message","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"779520c4b1fc39d3290e0d26b0758043242fe3ca","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        admin_metadata_ignore_keys \u003d [\u0027preferred\u0027]"},{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"},{"line_number":108,"context_line":"            if context.is_admin is False:"},{"line_number":109,"context_line":"                msg \u003d _(\"Cannot set or update admin only metadata.\")"},{"line_number":110,"context_line":"                LOG.exception(msg)"}],"source_content_type":"text/x-python","patch_set":21,"id":"deeeb88a_23b656de","line":107,"range":{"start_line":107,"start_character":22,"end_line":107,"end_character":37},"in_reply_to":"2d089cbf_66a251ee","updated":"2024-08-26 18:35:25.000000000","message":"Done","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e27d658a0ba66085e20f377658b0027a2e4e6bce","unresolved":true,"context_lines":[{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"},{"line_number":108,"context_line":"            if context.is_admin is False:"},{"line_number":109,"context_line":"                msg \u003d _(\"Cannot set or update admin only metadata.\")"},{"line_number":110,"context_line":"                LOG.exception(msg)"},{"line_number":111,"context_line":"                raise exc.HTTPForbidden(explanation\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":21,"id":"bdce4ddf_ebf04906","line":108,"range":{"start_line":108,"start_character":12,"end_line":108,"end_character":40},"updated":"2024-08-22 18:43:43.000000000","message":"I believe we can use a regular RBAC policy check in case there aren\u0027t strong reasons for checking the policies like this :)","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"779520c4b1fc39d3290e0d26b0758043242fe3ca","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":106,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":107,"context_line":"            LOG.debug(\"Check policy.\")"},{"line_number":108,"context_line":"            if context.is_admin is False:"},{"line_number":109,"context_line":"                msg \u003d _(\"Cannot set or update admin only metadata.\")"},{"line_number":110,"context_line":"                LOG.exception(msg)"},{"line_number":111,"context_line":"                raise exc.HTTPForbidden(explanation\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":21,"id":"c5498137_825eb1fc","line":108,"range":{"start_line":108,"start_character":12,"end_line":108,"end_character":40},"in_reply_to":"bdce4ddf_ebf04906","updated":"2024-08-26 18:35:25.000000000","message":"Please ignore this... Wrong PS","commit_id":"25ed35f45ecfad0848008895e59072671e89535d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        self.resource_name \u003d \u0027share_export_location\u0027"},{"line_number":39,"context_line":"        super(ShareExportLocationController, self).__init__()"},{"line_number":40,"context_line":"        self._conf_admin_only_metadata_keys \u003d getattr("},{"line_number":41,"context_line":"            CONF, \u0027export_locations_admin_only_metadata_keys\u0027, []"},{"line_number":42,"context_line":"        )"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _verify_share(self, context, share_id):"}],"source_content_type":"text/x-python","patch_set":23,"id":"c0a621fe_2b7d6ee6","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":60},"updated":"2024-08-28 22:46:59.000000000","message":"the config opt is declared as \"export_location_admin_only_metadata\"\n\nmaybe shorten it:\n\n\"admin_only_el_metadata\"","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        self.resource_name \u003d \u0027share_export_location\u0027"},{"line_number":39,"context_line":"        super(ShareExportLocationController, self).__init__()"},{"line_number":40,"context_line":"        self._conf_admin_only_metadata_keys \u003d getattr("},{"line_number":41,"context_line":"            CONF, \u0027export_locations_admin_only_metadata_keys\u0027, []"},{"line_number":42,"context_line":"        )"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _verify_share(self, context, share_id):"}],"source_content_type":"text/x-python","patch_set":23,"id":"5db07cac_70d79023","line":41,"range":{"start_line":41,"start_character":19,"end_line":41,"end_character":60},"in_reply_to":"c0a621fe_2b7d6ee6","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        return self._show(req, share_id, export_location_uuid,"},{"line_number":105,"context_line":"                          ignore_secondary_replicas\u003dTrue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":108,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":109,"context_line":"        admin_metadata_ignore_keys \u003d set(self._conf_admin_only_metadata_keys)"},{"line_number":110,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":111,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"}],"source_content_type":"text/x-python","patch_set":23,"id":"d107e8ed_62d1cc75","line":108,"range":{"start_line":107,"start_character":0,"end_line":108,"end_character":61},"updated":"2024-08-28 22:46:59.000000000","message":"This method needs unit tests: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_3d3/887543/22/check/openstack-tox-cover/3d330cd/cover/z_18fb795c8d5970e6_share_export_locations_py.html","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        return self._show(req, share_id, export_location_uuid,"},{"line_number":105,"context_line":"                          ignore_secondary_replicas\u003dTrue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":108,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":109,"context_line":"        admin_metadata_ignore_keys \u003d set(self._conf_admin_only_metadata_keys)"},{"line_number":110,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":111,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"}],"source_content_type":"text/x-python","patch_set":23,"id":"b9ff8ddb_29df60ca","line":108,"range":{"start_line":107,"start_character":0,"end_line":108,"end_character":61},"in_reply_to":"d107e8ed_62d1cc75","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"45101864b6efa42374838798c15782f759a666ab","unresolved":true,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":108,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":109,"context_line":"        admin_metadata_ignore_keys \u003d set(self._conf_admin_only_metadata_keys)"},{"line_number":110,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":111,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":112,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":25,"id":"04c95159_59061b16","line":109,"updated":"2024-08-30 16:24:34.000000000","message":"why variable is named as admin_metadata_IGNORE_keys ?","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"440eafcd59ae701df694c11dedf821f2d45a6e27","unresolved":true,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":108,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":109,"context_line":"        admin_metadata_ignore_keys \u003d set(self._conf_admin_only_metadata_keys)"},{"line_number":110,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":111,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":112,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":25,"id":"7d7766ba_f303322b","line":109,"in_reply_to":"04c95159_59061b16","updated":"2024-08-30 17:38:54.000000000","message":"This is how we named in the same workflow for shares metadata. When i first wrote it I thought \"If it\u0027s a user performing an action, I need to ignore/keep these key-value pairs when updating\". I can change in follow up patch to \"persistent_keys\" or something similar for both controllers.","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"9edd4c8007415aea88956a2d7cb03da944850ebf","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _validate_metadata_for_update(self, req, share_export_location,"},{"line_number":108,"context_line":"                                      metadata, delete\u003dTrue):"},{"line_number":109,"context_line":"        admin_metadata_ignore_keys \u003d set(self._conf_admin_only_metadata_keys)"},{"line_number":110,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":111,"context_line":"        if set(metadata).intersection(admin_metadata_ignore_keys):"},{"line_number":112,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":25,"id":"927df2fc_795ce71a","line":109,"in_reply_to":"7d7766ba_f303322b","updated":"2024-09-05 19:22:35.000000000","message":"Done","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"69db77b61d219cd21ae068256b225871607d9acb","unresolved":true,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @wsgi.Controller.api_version(\"2.86\")"},{"line_number":139,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":140,"context_line":"    def index_metadata(self, req, share_id, resource_id):"},{"line_number":141,"context_line":"        \"\"\"Returns the list of metadata for a given share export location.\"\"\""},{"line_number":142,"context_line":"        return self._index_metadata(req, resource_id)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"8e2879eb_41442a67","line":140,"range":{"start_line":140,"start_character":0,"end_line":140,"end_character":57},"updated":"2024-09-03 17:19:27.000000000","message":"For all these methods; share_id is never validated.. \n\ni.e., if you have no access to the share, you can still view/manipulate export location metadata if you know the UUIDs of the share and the export location.. \n\nMaybe, before you call the parent methods here, you can use the share_api.get() method to validate if the context has access to the share.","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"0a38160c624d4d85f551e95ffc096505736b4ca9","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    @wsgi.Controller.api_version(\"2.86\")"},{"line_number":139,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":140,"context_line":"    def index_metadata(self, req, share_id, resource_id):"},{"line_number":141,"context_line":"        \"\"\"Returns the list of metadata for a given share export location.\"\"\""},{"line_number":142,"context_line":"        return self._index_metadata(req, resource_id)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"32f1f804_476115e0","line":140,"range":{"start_line":140,"start_character":0,"end_line":140,"end_character":57},"in_reply_to":"8e2879eb_41442a67","updated":"2024-09-03 21:07:57.000000000","message":"Done","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b22128ad7854e05f2936f93b8b4e46a6e9acbb20","unresolved":true,"context_lines":[{"line_number":152,"context_line":"                                                       delete\u003dFalse)"},{"line_number":153,"context_line":"        body[\u0027metadata\u0027] \u003d _metadata"},{"line_number":154,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":155,"context_line":"        self._verify_share(context, share_id)"},{"line_number":156,"context_line":"        return self._create_metadata(req, resource_id, body)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @wsgi.Controller.api_version(\"2.87\")"}],"source_content_type":"text/x-python","patch_set":29,"id":"1254969e_05a74969","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":45},"updated":"2024-09-05 21:42:25.000000000","message":"Non-owners must not be able to create/update/delete metadata of a public share\u0027s export location.. \n\nSo maybe modify this method to add a parameter: \"for_manipulation\" \n\nWhen _verify_share is called in \"index_metadata\" and \"show_metadata\", for_manipulation\u003dFalse.. i.e., we\u0027re just checking if the user has access to the share\n\nWhen _verify_share is called in create_metadata, update_all_metadata, update_metadata_item, delete_metadata, make sure to set for_manipulation\u003dTrue, \n\nand when for_manipulation\u003dTrue, check for the \"update\" action on the share, instead of the \"get\" like its currently happening on line 48.","commit_id":"2016062027eed83184fbb962d234049131ae0e61"}],"manila/api/views/export_locations.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":93,"context_line":"    def add_metadata_attribute(self, context, view_dict,"},{"line_number":94,"context_line":"                               export_location):"},{"line_number":95,"context_line":"        metadata \u003d export_location.get(\u0027el_metadata\u0027)"},{"line_number":96,"context_line":"        metadata.pop(\u0027preferred\u0027, None)"},{"line_number":97,"context_line":"        view_dict[\u0027metadata\u0027] \u003d metadata"}],"source_content_type":"text/x-python","patch_set":23,"id":"a5893026_3fc1a2b6","line":96,"range":{"start_line":96,"start_character":8,"end_line":96,"end_character":39},"updated":"2024-08-28 22:46:59.000000000","message":"since you\u0027re popping, please copy the metadata.. just in case a future update wants to look at the \"preferred\" key\n\nwithout copying, this happens:\n```\n\u003e\u003e\u003e el \u003d {\u0027test\u0027: {\u0027foo\u0027: \u0027bar\u0027}}\n\u003e\u003e\u003e test \u003d el.get(\u0027test\u0027)\n\u003e\u003e\u003e el\n{\u0027test\u0027: {\u0027foo\u0027: \u0027bar\u0027}}\n\u003e\u003e\u003e test\n{\u0027foo\u0027: \u0027bar\u0027}\n\u003e\u003e\u003e test.pop(\u0027foo\u0027, None)\n\u0027bar\u0027\n\u003e\u003e\u003e test\n{}\n\u003e\u003e\u003e el\n{\u0027test\u0027: {}}\n```","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    def add_metadata_attribute(self, context, view_dict,"},{"line_number":94,"context_line":"                               export_location):"},{"line_number":95,"context_line":"        metadata \u003d export_location.get(\u0027el_metadata\u0027)"},{"line_number":96,"context_line":"        metadata.pop(\u0027preferred\u0027, None)"},{"line_number":97,"context_line":"        view_dict[\u0027metadata\u0027] \u003d metadata"}],"source_content_type":"text/x-python","patch_set":23,"id":"4da7a73c_adac45eb","line":96,"range":{"start_line":96,"start_character":8,"end_line":96,"end_character":39},"in_reply_to":"a5893026_3fc1a2b6","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6d5c4fd9003e777c825322764ea37795c16c38f","unresolved":true,"context_lines":[{"line_number":93,"context_line":"    def add_metadata_attribute(self, context, view_dict,"},{"line_number":94,"context_line":"                               export_location):"},{"line_number":95,"context_line":"        metadata \u003d export_location.get(\u0027el_metadata\u0027)"},{"line_number":96,"context_line":"        meta_copy \u003d copy.deepcopy(metadata)"},{"line_number":97,"context_line":"        meta_copy.pop(\u0027preferred\u0027, None)"},{"line_number":98,"context_line":"        view_dict[\u0027metadata\u0027] \u003d meta_copy"}],"source_content_type":"text/x-python","patch_set":24,"id":"51afef20_254f5dd0","line":96,"in_reply_to":"07c9e958_d740d0fc","updated":"2024-08-30 01:02:27.000000000","message":"\u003e pep8: F821 undefined name \u0027copy\u0027\n\nPlease fix.\n\nalso copy.copy will suffice; we only have key\u003dvalue pairs.. no complex data is expected","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"8c7157578a1e66188b14ad41e9ce7c084f4a84fe","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    def add_metadata_attribute(self, context, view_dict,"},{"line_number":94,"context_line":"                               export_location):"},{"line_number":95,"context_line":"        metadata \u003d export_location.get(\u0027el_metadata\u0027)"},{"line_number":96,"context_line":"        meta_copy \u003d copy.deepcopy(metadata)"},{"line_number":97,"context_line":"        meta_copy.pop(\u0027preferred\u0027, None)"},{"line_number":98,"context_line":"        view_dict[\u0027metadata\u0027] \u003d meta_copy"}],"source_content_type":"text/x-python","patch_set":24,"id":"76c0d9b8_3c3fbe11","line":96,"in_reply_to":"51afef20_254f5dd0","updated":"2024-08-30 15:57:09.000000000","message":"Done","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"}],"manila/common/config.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eee398de9d2581290c4be75a9bee06be1656b14b","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":148,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":149,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":150,"context_line":"    cfg.ListOpt(\u0027export_location_admin_only_metadata\u0027,"},{"line_number":151,"context_line":"                default\u003dconstants.AdminOnlyMetadata.EXPORT_LOCATION_KEYS,"},{"line_number":152,"context_line":"                help\u003d\u0027Metadata keys for export locations that should only be \u0027"},{"line_number":153,"context_line":"                     \u0027manipulated by administrators.\u0027),"}],"source_content_type":"text/x-python","patch_set":23,"id":"7476b682_f891ae16","line":150,"range":{"start_line":150,"start_character":17,"end_line":150,"end_character":52},"updated":"2024-08-28 21:15:12.000000000","message":"maybe it can be renamed to: admin_only_el_metadata","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":148,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":149,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":150,"context_line":"    cfg.ListOpt(\u0027export_location_admin_only_metadata\u0027,"},{"line_number":151,"context_line":"                default\u003dconstants.AdminOnlyMetadata.EXPORT_LOCATION_KEYS,"},{"line_number":152,"context_line":"                help\u003d\u0027Metadata keys for export locations that should only be \u0027"},{"line_number":153,"context_line":"                     \u0027manipulated by administrators.\u0027),"}],"source_content_type":"text/x-python","patch_set":23,"id":"6a1a904c_c82fb8f4","line":150,"range":{"start_line":150,"start_character":17,"end_line":150,"end_character":52},"in_reply_to":"5da88be6_f49a340f","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":148,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":149,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":150,"context_line":"    cfg.ListOpt(\u0027export_location_admin_only_metadata\u0027,"},{"line_number":151,"context_line":"                default\u003dconstants.AdminOnlyMetadata.EXPORT_LOCATION_KEYS,"},{"line_number":152,"context_line":"                help\u003d\u0027Metadata keys for export locations that should only be \u0027"},{"line_number":153,"context_line":"                     \u0027manipulated by administrators.\u0027),"}],"source_content_type":"text/x-python","patch_set":23,"id":"5da88be6_f49a340f","line":150,"range":{"start_line":150,"start_character":17,"end_line":150,"end_character":52},"in_reply_to":"7476b682_f891ae16","updated":"2024-08-28 22:46:59.000000000","message":"+1","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"}],"manila/common/constants.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eee398de9d2581290c4be75a9bee06be1656b14b","unresolved":true,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"Preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f17e8ed_ebead9b5","line":361,"range":{"start_line":361,"start_character":21,"end_line":361,"end_character":22},"updated":"2024-08-28 21:15:12.000000000","message":"I believe Preferred can\u0027t start with a capital letter, unless we are treating this elsewhere","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"Preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":23,"id":"867836ee_2ed16f7f","line":361,"range":{"start_line":361,"start_character":21,"end_line":361,"end_character":30},"updated":"2024-08-28 22:46:59.000000000","message":"lower case","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"Preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":23,"id":"e350bf05_c2740373","line":361,"range":{"start_line":361,"start_character":21,"end_line":361,"end_character":22},"in_reply_to":"5f17e8ed_ebead9b5","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"Preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":23,"id":"781c40c3_8062f103","line":361,"range":{"start_line":361,"start_character":21,"end_line":361,"end_character":30},"in_reply_to":"867836ee_2ed16f7f","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":365,"context_line":"        ANTI_AFFINITY_KEY,"},{"line_number":366,"context_line":"    ]"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    EXPORT_LOCATION_KEYS \u003d [PREFERRED_KEY,]"}],"source_content_type":"text/x-python","patch_set":23,"id":"2d1e1bd7_406d9692","line":368,"range":{"start_line":368,"start_character":41,"end_line":368,"end_character":42},"updated":"2024-08-28 22:46:59.000000000","message":"nit: for a single line declaration, the trailing \",\" isn\u0027t necessary.. trailing commas are added so that future code diffs don\u0027t touch unrelated lines.. for example if you did:\n\n\n```\n  EXPORT_LOCATION_KEYS \u003d [\n      PREFERRED_KEY,\n  ]\n```\n\nIf you introduced another one tomorrow, the git diff would be:\n\n```\n  EXPORT_LOCATION_KEYS \u003d [\n      PREFERRED_KEY,\n+     SOME_OTHER_KEY,\n  ]\n```\n\nIf you didn\u0027t have the trailing comma, it\u0027d be:\n\n```\n  EXPORT_LOCATION_KEYS \u003d [\n-     PREFERRED_KEY  \n+     PREFERRED_KEY,\n+     SOME_OTHER_KEY,\n  ]\n```\n\nso, a bit confusing..","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        ANTI_AFFINITY_KEY,"},{"line_number":366,"context_line":"    ]"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    EXPORT_LOCATION_KEYS \u003d [PREFERRED_KEY,]"}],"source_content_type":"text/x-python","patch_set":23,"id":"eef3d356_a770c31c","line":368,"range":{"start_line":368,"start_character":41,"end_line":368,"end_character":42},"in_reply_to":"2d1e1bd7_406d9692","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"45101864b6efa42374838798c15782f759a666ab","unresolved":true,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":25,"id":"f38253f6_6bbc14ca","line":361,"updated":"2024-08-30 16:24:34.000000000","message":"isn\u0027t it should be \u0027__preferred\u0027 ?","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"16e71c9004d18dddb435b55ff426cd4fd9a3cd76","unresolved":false,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":25,"id":"f478985b_496e0760","line":361,"in_reply_to":"4d2de1e4_c3e0fa05","updated":"2024-09-04 21:42:02.000000000","message":"Done","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"440eafcd59ae701df694c11dedf821f2d45a6e27","unresolved":true,"context_lines":[{"line_number":358,"context_line":"class AdminOnlyMetadata(object):"},{"line_number":359,"context_line":"    AFFINITY_KEY \u003d \"__affinity_same_host\""},{"line_number":360,"context_line":"    ANTI_AFFINITY_KEY \u003d \"__affinity_different_host\""},{"line_number":361,"context_line":"    PREFERRED_KEY \u003d \"preferred\""},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    SCHEDULER_FILTERS \u003d ["},{"line_number":364,"context_line":"        AFFINITY_KEY,"}],"source_content_type":"text/x-python","patch_set":25,"id":"4d2de1e4_c3e0fa05","line":361,"in_reply_to":"f38253f6_6bbc14ca","updated":"2024-08-30 17:38:54.000000000","message":"no, in this case the \"preferred\" key is preexsiting metadata originally set by the driver.","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9fc65b2f911bb1a5ba2a55befc6a9d3360b6c651","unresolved":true,"context_lines":[{"line_number":4678,"context_line":""},{"line_number":4679,"context_line":"    return metadata"},{"line_number":4680,"context_line":""},{"line_number":4681,"context_line":""},{"line_number":4682,"context_line":"def export_location_metadata_get_item(context, export_location_uuid, key):"},{"line_number":4683,"context_line":""},{"line_number":4684,"context_line":"    row \u003d _export_location_metadata_get_item("}],"source_content_type":"text/x-python","patch_set":13,"id":"a6643d18_4c778dd4","line":4681,"updated":"2024-07-26 16:44:07.000000000","message":"please add @require_context and @context_manager.reader","commit_id":"ae6d2697100208638623d116b8de8b7a65671088"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"ab1b397e529fd34bb3eb775645474d32ca16d10a","unresolved":false,"context_lines":[{"line_number":4678,"context_line":""},{"line_number":4679,"context_line":"    return metadata"},{"line_number":4680,"context_line":""},{"line_number":4681,"context_line":""},{"line_number":4682,"context_line":"def export_location_metadata_get_item(context, export_location_uuid, key):"},{"line_number":4683,"context_line":""},{"line_number":4684,"context_line":"    row \u003d _export_location_metadata_get_item("}],"source_content_type":"text/x-python","patch_set":13,"id":"b56c75fd_fbbaeef1","line":4681,"in_reply_to":"a6643d18_4c778dd4","updated":"2024-07-26 17:19:40.000000000","message":"Done","commit_id":"ae6d2697100208638623d116b8de8b7a65671088"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9fc65b2f911bb1a5ba2a55befc6a9d3360b6c651","unresolved":true,"context_lines":[{"line_number":4687,"context_line":""},{"line_number":4688,"context_line":"    return result"},{"line_number":4689,"context_line":""},{"line_number":4690,"context_line":""},{"line_number":4691,"context_line":"def export_location_metadata_update_item(context, export_location_uuid,"},{"line_number":4692,"context_line":"                                         item):"},{"line_number":4693,"context_line":"    return export_location_metadata_update(context, export_location_uuid,"}],"source_content_type":"text/x-python","patch_set":13,"id":"8e1d3678_40b3434f","line":4690,"updated":"2024-07-26 16:44:07.000000000","message":"please add @require_context and @context_manager.writer","commit_id":"ae6d2697100208638623d116b8de8b7a65671088"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"ab1b397e529fd34bb3eb775645474d32ca16d10a","unresolved":false,"context_lines":[{"line_number":4687,"context_line":""},{"line_number":4688,"context_line":"    return result"},{"line_number":4689,"context_line":""},{"line_number":4690,"context_line":""},{"line_number":4691,"context_line":"def export_location_metadata_update_item(context, export_location_uuid,"},{"line_number":4692,"context_line":"                                         item):"},{"line_number":4693,"context_line":"    return export_location_metadata_update(context, export_location_uuid,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5573a7d9_ec3d79a2","line":4690,"in_reply_to":"8e1d3678_40b3434f","updated":"2024-07-26 17:19:40.000000000","message":"Done","commit_id":"ae6d2697100208638623d116b8de8b7a65671088"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":4694,"context_line":"@context_manager.writer"},{"line_number":4695,"context_line":"def export_location_metadata_update_item(context, export_location_uuid,"},{"line_number":4696,"context_line":"                                         item):"},{"line_number":4697,"context_line":"    return export_location_metadata_update(context, export_location_uuid,"},{"line_number":4698,"context_line":"                                           item, delete\u003dFalse)"},{"line_number":4699,"context_line":""},{"line_number":4700,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"e4bca8ad_98822214","line":4697,"range":{"start_line":4697,"start_character":11,"end_line":4697,"end_character":42},"updated":"2024-08-28 22:46:59.000000000","message":"Call the non-decorated private method: _export_location_metadata_update\n\nIf you call the \"export_location_metadata_update\" method, you\u0027ll be creating an inner DB transaction because of the context decorators","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":4694,"context_line":"@context_manager.writer"},{"line_number":4695,"context_line":"def export_location_metadata_update_item(context, export_location_uuid,"},{"line_number":4696,"context_line":"                                         item):"},{"line_number":4697,"context_line":"    return export_location_metadata_update(context, export_location_uuid,"},{"line_number":4698,"context_line":"                                           item, delete\u003dFalse)"},{"line_number":4699,"context_line":""},{"line_number":4700,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"841130b3_3b9c9343","line":4697,"range":{"start_line":4697,"start_character":11,"end_line":4697,"end_character":42},"in_reply_to":"e4bca8ad_98822214","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":4703,"context_line":"        context, export_location_uuid,"},{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"}],"source_content_type":"text/x-python","patch_set":23,"id":"8c842190_32891fce","line":4706,"range":{"start_line":4706,"start_character":24,"end_line":4706,"end_character":44},"updated":"2024-08-28 22:46:59.000000000","message":"This exception doesn\u0027t exist..","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"8c7157578a1e66188b14ad41e9ce7c084f4a84fe","unresolved":false,"context_lines":[{"line_number":4703,"context_line":"        context, export_location_uuid,"},{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"}],"source_content_type":"text/x-python","patch_set":23,"id":"d3b843de_71f1b8d2","line":4706,"range":{"start_line":4706,"start_character":24,"end_line":4706,"end_character":44},"in_reply_to":"34dba60c_2c33c923","updated":"2024-08-30 15:57:09.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"842855ff3ab153b111c636c27e5fc26817814bf7","unresolved":false,"context_lines":[{"line_number":4703,"context_line":"        context, export_location_uuid,"},{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"}],"source_content_type":"text/x-python","patch_set":23,"id":"9c9bc61e_3e22953c","line":4706,"range":{"start_line":4706,"start_character":24,"end_line":4706,"end_character":44},"in_reply_to":"86316deb_a7457b85","updated":"2024-08-29 19:29:05.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":true,"context_lines":[{"line_number":4703,"context_line":"        context, export_location_uuid,"},{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"}],"source_content_type":"text/x-python","patch_set":23,"id":"86316deb_a7457b85","line":4706,"range":{"start_line":4706,"start_character":24,"end_line":4706,"end_character":44},"in_reply_to":"8c842190_32891fce","updated":"2024-08-29 19:28:47.000000000","message":"https://github.com/openstack/manila/blob/master/manila/exception.py#L640","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6d5c4fd9003e777c825322764ea37795c16c38f","unresolved":true,"context_lines":[{"line_number":4703,"context_line":"        context, export_location_uuid,"},{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"}],"source_content_type":"text/x-python","patch_set":23,"id":"34dba60c_2c33c923","line":4706,"range":{"start_line":4706,"start_character":24,"end_line":4706,"end_character":44},"in_reply_to":"9c9bc61e_3e22953c","updated":"2024-08-30 01:02:27.000000000","message":"ah thanks; i misread this\n\neither case, `raise exception.MetadataItemNotFound()`\n\nplease; explicit better than implicit","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"},{"line_number":4710,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"b1dd012d_7bd3726d","line":4707,"range":{"start_line":4707,"start_character":1,"end_line":4707,"end_character":4},"updated":"2024-08-28 22:46:59.000000000","message":"please add a unit test; you\u0027d have found this :) https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_3d3/887543/22/check/openstack-tox-cover/3d330cd/cover/z_74cf6eae3f8ed89e_api_py.html","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":4704,"context_line":"    ).filter_by(key\u003dkey).first()"},{"line_number":4705,"context_line":"    if not result:"},{"line_number":4706,"context_line":"        raise exception.MetadataItemNotFound"},{"line_number":4707,"context_line":"    return result"},{"line_number":4708,"context_line":""},{"line_number":4709,"context_line":"###################################"},{"line_number":4710,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f55076b_88fd0b65","line":4707,"range":{"start_line":4707,"start_character":1,"end_line":4707,"end_character":4},"in_reply_to":"b1dd012d_7bd3726d","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"}],"manila/policies/share_export_location.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848f96ac47a2fe06d835149f673f543245ba1a89","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":39,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":40,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":41,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":42,"context_line":")"},{"line_number":43,"context_line":"deprecated_delete_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a31c740_f9be29cf","line":41,"range":{"start_line":41,"start_character":22,"end_line":41,"end_character":25},"updated":"2023-07-14 12:36:24.000000000","message":"BOBCAT","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"2883b27b3f615c4ec8b24f935962ed255a7923b1","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":39,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":40,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":41,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":42,"context_line":")"},{"line_number":43,"context_line":"deprecated_delete_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f2d36d5_26b16a39","line":41,"range":{"start_line":41,"start_character":22,"end_line":41,"end_character":25},"in_reply_to":"5a31c740_f9be29cf","updated":"2023-08-11 15:33:48.000000000","message":"Done","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848f96ac47a2fe06d835149f673f543245ba1a89","unresolved":true,"context_lines":[{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"},{"line_number":45,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":46,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":47,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":48,"context_line":")"},{"line_number":49,"context_line":"deprecated_get_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":50,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027get_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"c0970ebe_890779ec","line":47,"range":{"start_line":47,"start_character":22,"end_line":47,"end_character":25},"updated":"2023-07-14 12:36:24.000000000","message":"BOBCAT","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"2883b27b3f615c4ec8b24f935962ed255a7923b1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"},{"line_number":45,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":46,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":47,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":48,"context_line":")"},{"line_number":49,"context_line":"deprecated_get_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":50,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027get_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"65a56203_315dbf48","line":47,"range":{"start_line":47,"start_character":22,"end_line":47,"end_character":25},"in_reply_to":"c0970ebe_890779ec","updated":"2023-08-11 15:33:48.000000000","message":"Done","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"848f96ac47a2fe06d835149f673f543245ba1a89","unresolved":true,"context_lines":[{"line_number":50,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027get_metadata\u0027,"},{"line_number":51,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":52,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":53,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":54,"context_line":")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"d9b83cd1_42ae6ee6","line":53,"range":{"start_line":53,"start_character":22,"end_line":53,"end_character":25},"updated":"2023-07-14 12:36:24.000000000","message":"BOBCAT","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"2883b27b3f615c4ec8b24f935962ed255a7923b1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027get_metadata\u0027,"},{"line_number":51,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":52,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":53,"context_line":"    deprecated_since\u003d\u0027ZED\u0027"},{"line_number":54,"context_line":")"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"c8bda8ca_a2117e35","line":53,"range":{"start_line":53,"start_character":22,"end_line":53,"end_character":25},"in_reply_to":"d9b83cd1_42ae6ee6","updated":"2023-08-11 15:33:48.000000000","message":"Done","commit_id":"465bbcd30023ff7d205f25ecf8127c1af41f8770"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"45101864b6efa42374838798c15782f759a666ab","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":39,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":40,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":41,"context_line":"    deprecated_since\u003d\u0027DALMATIAN\u0027"},{"line_number":42,"context_line":")"},{"line_number":43,"context_line":"deprecated_delete_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"5dde957c_5155302a","line":41,"updated":"2024-08-30 16:24:34.000000000","message":"2024.2/Dalmatian","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"440eafcd59ae701df694c11dedf821f2d45a6e27","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027update_metadata\u0027,"},{"line_number":39,"context_line":"    check_str\u003dbase.RULE_DEFAULT,"},{"line_number":40,"context_line":"    deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":41,"context_line":"    deprecated_since\u003d\u0027DALMATIAN\u0027"},{"line_number":42,"context_line":")"},{"line_number":43,"context_line":"deprecated_delete_export_location_metadata \u003d policy.DeprecatedRule("},{"line_number":44,"context_line":"    name\u003dBASE_POLICY_NAME % \u0027delete_metadata\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"fd9b0af6_3de4e818","line":41,"in_reply_to":"5dde957c_5155302a","updated":"2024-08-30 17:38:54.000000000","message":"Done","commit_id":"2eca3b6adf8bae749043ba05a10ab9581e8f7134"}],"manila/tests/api/v2/test_share_export_locations.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9d423d72074781741616ade9f5b536e5fb7f81aa","unresolved":true,"context_lines":[{"line_number":270,"context_line":"        metadata \u003d {\"foo\": \"bar\", \"preferred\": \"False\"}"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":273,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock(return_value\u003dFalse))"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":276,"context_line":"            \u0027/v2/shares/%s/export_locations/%s/metadata\u0027 % ("}],"source_content_type":"text/x-python","patch_set":27,"id":"499e013f_3a4bd49a","line":273,"range":{"start_line":273,"start_character":36,"end_line":273,"end_character":65},"updated":"2024-09-02 09:27:39.000000000","message":"This shouldn\u0027t return false, it should have a side effect to raise exception.PolicyNotAuthorized to result in a HTTPForbidden: https://review.opendev.org/c/openstack/manila/+/887543/27/manila/api/v2/share_export_locations.py#116","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"0a38160c624d4d85f551e95ffc096505736b4ca9","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        metadata \u003d {\"foo\": \"bar\", \"preferred\": \"False\"}"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":273,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock(return_value\u003dFalse))"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":276,"context_line":"            \u0027/v2/shares/%s/export_locations/%s/metadata\u0027 % ("}],"source_content_type":"text/x-python","patch_set":27,"id":"18305940_b90733c4","line":273,"range":{"start_line":273,"start_character":36,"end_line":273,"end_character":65},"in_reply_to":"499e013f_3a4bd49a","updated":"2024-09-03 21:07:57.000000000","message":"Done","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9d423d72074781741616ade9f5b536e5fb7f81aa","unresolved":true,"context_lines":[{"line_number":280,"context_line":"        self.assertRaises(exc.HTTPForbidden,"},{"line_number":281,"context_line":"                          self.controller._validate_metadata_for_update,"},{"line_number":282,"context_line":"                          req, el_id, metadata)"},{"line_number":283,"context_line":"        mock_policy_check.assert_called_once_with("},{"line_number":284,"context_line":"            req, \u0027share_export_location\u0027,"},{"line_number":285,"context_line":"            \u0027update_admin_only_metadata\u0027, mock.ANY,"},{"line_number":286,"context_line":"            do_raise\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":27,"id":"2329ea98_1d52334b","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":25},"updated":"2024-09-02 09:27:39.000000000","message":"self.mock_policy_check","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"0a38160c624d4d85f551e95ffc096505736b4ca9","unresolved":false,"context_lines":[{"line_number":280,"context_line":"        self.assertRaises(exc.HTTPForbidden,"},{"line_number":281,"context_line":"                          self.controller._validate_metadata_for_update,"},{"line_number":282,"context_line":"                          req, el_id, metadata)"},{"line_number":283,"context_line":"        mock_policy_check.assert_called_once_with("},{"line_number":284,"context_line":"            req, \u0027share_export_location\u0027,"},{"line_number":285,"context_line":"            \u0027update_admin_only_metadata\u0027, mock.ANY,"},{"line_number":286,"context_line":"            do_raise\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":27,"id":"490ee1a3_2c196458","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":25},"in_reply_to":"2329ea98_1d52334b","updated":"2024-09-03 21:07:57.000000000","message":"Done","commit_id":"f84ed59565c59a00041926728b2e980b0fbd4902"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a92616f14c01aaf02099ef1f8e1871262dfdda46","unresolved":true,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":273,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock("},{"line_number":274,"context_line":"                side_effect\u003dexception.PolicyNotAuthorized))"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":277,"context_line":"            \u0027/v2/shares/%s/export_locations/%s/metadata\u0027 % ("}],"source_content_type":"text/x-python","patch_set":28,"id":"ecdb8433_6567e3c7","line":274,"range":{"start_line":274,"start_character":38,"end_line":274,"end_character":57},"updated":"2024-09-03 22:16:43.000000000","message":"side_effect\u003dexception.PolicyNotAuthorized(action\u003d\"update_admin_only_metadata\")","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"16e71c9004d18dddb435b55ff426cd4fd9a3cd76","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        self.mock_policy_check \u003d self.mock_object("},{"line_number":273,"context_line":"            policy, \u0027check_policy\u0027, mock.Mock("},{"line_number":274,"context_line":"                side_effect\u003dexception.PolicyNotAuthorized))"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":277,"context_line":"            \u0027/v2/shares/%s/export_locations/%s/metadata\u0027 % ("}],"source_content_type":"text/x-python","patch_set":28,"id":"5fc394bb_e873fd59","line":274,"range":{"start_line":274,"start_character":38,"end_line":274,"end_character":57},"in_reply_to":"ecdb8433_6567e3c7","updated":"2024-09-04 21:42:02.000000000","message":"Done","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f32178a878a8b2b187e815ec17c0e1defbae539f","unresolved":true,"context_lines":[{"line_number":286,"context_line":"            \u0027update_admin_only_metadata\u0027, mock.ANY,"},{"line_number":287,"context_line":"            do_raise\u003dFalse)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def test_create_metadata(self):"},{"line_number":290,"context_line":"        index_result \u003d self.controller.index(self.req, self.share[\u0027id\u0027])"},{"line_number":291,"context_line":"        el_id \u003d index_result[\u0027export_locations\u0027][0][\u0027id\u0027]"},{"line_number":292,"context_line":"        body \u003d {\u0027metadata\u0027: {\u0027key1\u0027: \u0027val1\u0027, \u0027key2\u0027: \u0027val2\u0027}}"},{"line_number":293,"context_line":"        mock_validate \u003d self.mock_object("}],"source_content_type":"text/x-python","patch_set":28,"id":"610f106b_8a77c5b4","line":290,"range":{"start_line":289,"start_character":4,"end_line":290,"end_character":5},"updated":"2024-09-04 19:08:09.000000000","message":"Can you add a test case for create/update/delete where you fail policy checks:\n\n1) when the share isn\u0027t accessible (you don\u0027t belong to the project that owns the share)\n2) when the share is accessible, but it isn\u0027t yours (public share) - so you can\u0027t modify the export location metadata\n3) when RBAC prevents export location metadata create/update actions for you\n4) where you attempt to create/update admin-only metadata as a non-admin\n\nDon\u0027t mind these being tempest tests as well","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"16e71c9004d18dddb435b55ff426cd4fd9a3cd76","unresolved":true,"context_lines":[{"line_number":286,"context_line":"            \u0027update_admin_only_metadata\u0027, mock.ANY,"},{"line_number":287,"context_line":"            do_raise\u003dFalse)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def test_create_metadata(self):"},{"line_number":290,"context_line":"        index_result \u003d self.controller.index(self.req, self.share[\u0027id\u0027])"},{"line_number":291,"context_line":"        el_id \u003d index_result[\u0027export_locations\u0027][0][\u0027id\u0027]"},{"line_number":292,"context_line":"        body \u003d {\u0027metadata\u0027: {\u0027key1\u0027: \u0027val1\u0027, \u0027key2\u0027: \u0027val2\u0027}}"},{"line_number":293,"context_line":"        mock_validate \u003d self.mock_object("}],"source_content_type":"text/x-python","patch_set":28,"id":"c6221136_12b6e62d","line":290,"range":{"start_line":289,"start_character":4,"end_line":290,"end_character":5},"in_reply_to":"610f106b_8a77c5b4","updated":"2024-09-04 21:42:02.000000000","message":"You\u0027re right these are important test cases, I\u0027ll add to tempest suite","commit_id":"a444f7b2ed2d8b5e9d499a4a79782c692fed9a18"}],"releasenotes/notes/add_export_location_metadata-d3c279b73f4c4728.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of export_location_admin_only_metadata,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"e50b7af4_bf4713bc","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":8},"updated":"2024-08-28 22:46:59.000000000","message":"Added","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of export_location_admin_only_metadata,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"194045a8_18ffb03b","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":8},"in_reply_to":"e50b7af4_bf4713bc","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a8382e5659188d7a36993badf1dc99b88e9b7033","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of export_location_admin_only_metadata,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"},{"line_number":8,"context_line":"    those with admin privileges. By default, this includes"},{"line_number":9,"context_line":"    \"preferred\" key."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"808a93f0_02229d9e","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":63},"updated":"2024-08-28 22:46:59.000000000","message":"fix name of config opt here, and quote this with backticks so it can be formatted as a literal, example \\`test`.","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"202971d5af0a3cf5b901aef62d4ec3811105869f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of export_location_admin_only_metadata,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"},{"line_number":8,"context_line":"    those with admin privileges. By default, this includes"},{"line_number":9,"context_line":"    \"preferred\" key."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"4436a8fe_9c35703f","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":63},"in_reply_to":"808a93f0_02229d9e","updated":"2024-08-29 19:28:47.000000000","message":"Done","commit_id":"f72fd53e38e7b238f28b40a3506a8c707038a0e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d6d5c4fd9003e777c825322764ea37795c16c38f","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of \u0027admin_only_el_metadata\u0027,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"},{"line_number":8,"context_line":"    those with admin privileges. By default, this includes"},{"line_number":9,"context_line":"    \"preferred\" key."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"ba785c86_9482022f","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":52},"updated":"2024-08-30 01:02:27.000000000","message":"\\`admin_only_el_metadata\\`","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"8c7157578a1e66188b14ad41e9ce7c084f4a84fe","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added share export location metadata capabilities including"},{"line_number":5,"context_line":"    create, update all, update single, show and delete metadata."},{"line_number":6,"context_line":"    Allows configuration of \u0027admin_only_el_metadata\u0027,"},{"line_number":7,"context_line":"    such that keys in this list are able to be manipulated only by"},{"line_number":8,"context_line":"    those with admin privileges. By default, this includes"},{"line_number":9,"context_line":"    \"preferred\" key."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"11823bd7_d44945d0","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":52},"in_reply_to":"ba785c86_9482022f","updated":"2024-08-30 15:57:09.000000000","message":"Done","commit_id":"6caf4208444e3e1f35fbbe257bf178122a85508b"}]}
