)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"29524e7d4ab8b1a5fefb47bfb4d5d34f1a0bb2f1","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"PowerScale Manila: Add share shrink support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds support for shrinking shares in in Dell EMC PowerScale driver."},{"line_number":10,"context_line":"It includes the logic to reduce quotas via OneFS REST API and corresponding unit tests to validate the behaviour."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint dell-powerscale-share-shrink-support"},{"line_number":13,"context_line":"Change-Id: Ia6651b5f3f1bdcc3dbf525972feabdae13f76331"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"749b0e0b_8779c8cd","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":113},"updated":"2026-01-20 19:29:54.000000000","message":"please wrap this at 72 characters","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"ed4cead31994d79052b1a079c9127a3b189c40be","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"PowerScale Manila: Add share shrink support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds support for shrinking shares in in Dell EMC PowerScale driver."},{"line_number":10,"context_line":"It includes the logic to reduce quotas via OneFS REST API and corresponding unit tests to validate the behaviour."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: blueprint dell-powerscale-share-shrink-support"},{"line_number":13,"context_line":"Change-Id: Ia6651b5f3f1bdcc3dbf525972feabdae13f76331"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1396fb0a_90c4f720","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":113},"in_reply_to":"749b0e0b_8779c8cd","updated":"2026-01-28 04:47:34.000000000","message":"Done","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c044d2521a32592640b5a71816a94249b4d597a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6c2c6ccf_fbd2a542","updated":"2026-01-09 00:34:10.000000000","message":"Thanks for adding shrink share feature!","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4c1244c6_618ec660","updated":"2026-01-12 08:46:29.000000000","message":"Thanks for working on this patch, few inline comments.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"29524e7d4ab8b1a5fefb47bfb4d5d34f1a0bb2f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1f382287_6f396778","updated":"2026-01-20 19:29:54.000000000","message":"Thanks for working on this change, please take a look at the comments inline","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"104869a9ce163b2a7461dd79880731baa619b656","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8f01be9a_1b342c98","updated":"2026-02-05 10:59:17.000000000","message":"@gouthampravi@gmail.com\nThe CI job with shrink tests enabled is succeeded.\nhttps://github.com/dell/dell-openstack-ci-logs/tree/main/t/openstack/build/ef54ade066b54bb3a51ee8f71da5e13c","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"5a4620eaa97e64c4a29ae44f6154d208b18fefd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f3517ad6_40c1305f","updated":"2026-02-05 17:54:46.000000000","message":"Thanks for the review!","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"976384b0610fa3ed01867f7ebafb3ec4a25f9ed0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"47504c9a_99bf88c1","updated":"2026-01-28 04:53:25.000000000","message":"Thanks for the review, made all the necessary changes.","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e9be288b3c3e7f18c7232eba576adb26677b3869","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3da0228e_c5dd9e54","updated":"2026-02-04 21:44:10.000000000","message":"Thanks for working on this change. LGTM!","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6688efcabfa2a5199a62cc0161523a23c2858136","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7c03dd50_9f422a5d","updated":"2026-02-05 04:23:34.000000000","message":"The PowerScale CI failed on the latest patch, but, the changes between patches don\u0027t seem to be causing it. \n\nHave you tried running with \"run_shrink_tests\u003dtrue\" in your tempest.conf? https://github.com/dell/dell-openstack-ci-logs/blob/d328e226edd999e4856e4f80895263eb917f4a56/t/openstack/build/80595b9232e34b4181e264bc72c7c66d/tempest_conf.txt#L150","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"d357548421ff7a8b63c3fb532efa1d4bc36e28c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"155769fb_a3378b58","updated":"2026-02-04 20:31:12.000000000","message":"run-DellEMC PowerScale CI","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"4e347bd8e664fab3cd4f744a6e7584baf35512f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6235a112_bba03293","updated":"2026-02-05 10:13:06.000000000","message":"run-DellEMC PowerScale CI","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"8b867200a6a72ece5e89b5b0897b45bbcd97196b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e18136a7_3449499e","updated":"2026-01-27 12:20:10.000000000","message":"run-DellEMC PowerScale CI","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"}],"doc/source/admin/dell_emc_powerscale_driver.rst":[{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":true,"context_lines":[{"line_number":50,"context_line":"* Delete snapshot"},{"line_number":51,"context_line":"* Create share from snapshot"},{"line_number":52,"context_line":"* Extend share"},{"line_number":53,"context_line":"* Shrink share"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Backend Configuration"}],"source_content_type":"text/x-rst","patch_set":5,"id":"6650cfe1_9dcebd67","line":53,"updated":"2026-01-12 08:46:29.000000000","message":"this is not right file to update driver details\n\nactual file is at location ``doc/source/configuration/shared-file-systems/drivers/dell-emc-powerscale-driver.rst``.\n\nAlso please add section of Shrink share which explain feature.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Delete snapshot"},{"line_number":51,"context_line":"* Create share from snapshot"},{"line_number":52,"context_line":"* Extend share"},{"line_number":53,"context_line":"* Shrink share"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Backend Configuration"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ef84c8f1_c780f0ed","line":53,"in_reply_to":"6650cfe1_9dcebd67","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"}],"doc/source/configuration/shared-file-systems/drivers/dell-emc-powerscale-driver.rst":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"29524e7d4ab8b1a5fefb47bfb4d5d34f1a0bb2f1","unresolved":true,"context_lines":[{"line_number":96,"context_line":"OpenStack CLI (preferred)"},{"line_number":97,"context_line":"-------------------------"},{"line_number":98,"context_line":".. code-block:: console"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"  # Shrink by setting a smaller size (GiB)"},{"line_number":101,"context_line":"  openstack share resize \u003cshare-id-or-name\u003e \u003cnew-size\u003e  [1](https://docs.openstack.org/manila/2025.2/admin/shared-file-systems-share-resize.html)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b403f53c_2d671a14","line":99,"updated":"2026-01-20 19:29:54.000000000","message":"please avoid commands the commands here and add the reference using the RST format, instead of the URL, as the URL might become outdated","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"ed4cead31994d79052b1a079c9127a3b189c40be","unresolved":false,"context_lines":[{"line_number":96,"context_line":"OpenStack CLI (preferred)"},{"line_number":97,"context_line":"-------------------------"},{"line_number":98,"context_line":".. code-block:: console"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"  # Shrink by setting a smaller size (GiB)"},{"line_number":101,"context_line":"  openstack share resize \u003cshare-id-or-name\u003e \u003cnew-size\u003e  [1](https://docs.openstack.org/manila/2025.2/admin/shared-file-systems-share-resize.html)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"26b284cb_38ec4668","line":99,"in_reply_to":"b403f53c_2d671a14","updated":"2026-01-28 04:47:34.000000000","message":"Done","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6688efcabfa2a5199a62cc0161523a23c2858136","unresolved":true,"context_lines":[{"line_number":78,"context_line":"Shrink a share"},{"line_number":79,"context_line":"~~~~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Overview"},{"line_number":82,"context_line":"^^^^^^^^"},{"line_number":83,"context_line":"Shrinking reduces the size (GiB) of an existing Manila share to a"},{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"f7cada8d_efa6a62f","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":8},"updated":"2026-02-05 04:23:34.000000000","message":"you don\u0027t need this.","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"5a4620eaa97e64c4a29ae44f6154d208b18fefd8","unresolved":false,"context_lines":[{"line_number":78,"context_line":"Shrink a share"},{"line_number":79,"context_line":"~~~~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Overview"},{"line_number":82,"context_line":"^^^^^^^^"},{"line_number":83,"context_line":"Shrinking reduces the size (GiB) of an existing Manila share to a"},{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"37c5b27c_1e64eda0","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":8},"in_reply_to":"3f9d051c_7c6c3d94","updated":"2026-02-05 17:54:46.000000000","message":"Acknowledged","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7a8c8a44abafec6bc50ec4125e8c7b185f4882ad","unresolved":true,"context_lines":[{"line_number":78,"context_line":"Shrink a share"},{"line_number":79,"context_line":"~~~~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Overview"},{"line_number":82,"context_line":"^^^^^^^^"},{"line_number":83,"context_line":"Shrinking reduces the size (GiB) of an existing Manila share to a"},{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fcd32419_25107077","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":8},"in_reply_to":"f7cada8d_efa6a62f","updated":"2026-02-05 11:49:25.000000000","message":"We got two +2 on this patch, can we address this in follow-up patch?","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9c3493f6b4cf7fd8806b8ee3cf51feb5ff2a30ad","unresolved":true,"context_lines":[{"line_number":78,"context_line":"Shrink a share"},{"line_number":79,"context_line":"~~~~~~~~~~~~~~"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Overview"},{"line_number":82,"context_line":"^^^^^^^^"},{"line_number":83,"context_line":"Shrinking reduces the size (GiB) of an existing Manila share to a"},{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3f9d051c_7c6c3d94","line":82,"range":{"start_line":81,"start_character":0,"end_line":82,"end_character":8},"in_reply_to":"fcd32419_25107077","updated":"2026-02-05 15:39:08.000000000","message":"sure","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6688efcabfa2a5199a62cc0161523a23c2858136","unresolved":true,"context_lines":[{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Limitations and behavior"},{"line_number":88,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":89,"context_line":"* New size must be a positive integer **less than** the current size and"},{"line_number":90,"context_line":"  within quotas."},{"line_number":91,"context_line":"* During the operation, the share status transitions to **shrinking**"},{"line_number":92,"context_line":"  and returns to **available** on success."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"For information on resizing shares, refer to the OpenStack Manila"},{"line_number":95,"context_line":"administration guide:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"97a7b2b0_80a52cab","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":42},"updated":"2026-02-05 04:23:34.000000000","message":"This is good information, but, doesn\u0027t really need to be under a different header. The o/p doesn\u0027t look very pretty.. \n\nI suggest dropping both the section headers, and retaining the text if necessary","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"5a4620eaa97e64c4a29ae44f6154d208b18fefd8","unresolved":false,"context_lines":[{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Limitations and behavior"},{"line_number":88,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":89,"context_line":"* New size must be a positive integer **less than** the current size and"},{"line_number":90,"context_line":"  within quotas."},{"line_number":91,"context_line":"* During the operation, the share status transitions to **shrinking**"},{"line_number":92,"context_line":"  and returns to **available** on success."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"For information on resizing shares, refer to the OpenStack Manila"},{"line_number":95,"context_line":"administration guide:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"765fe4ca_3f0ee72d","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":42},"in_reply_to":"6a8607f2_cc95628c","updated":"2026-02-05 17:54:46.000000000","message":"Acknowledged","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7a8c8a44abafec6bc50ec4125e8c7b185f4882ad","unresolved":true,"context_lines":[{"line_number":84,"context_line":"smaller value. The operation enforces quota limits and rejects invalid"},{"line_number":85,"context_line":"sizes (e.g., 0 or any value greater than the current size)."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Limitations and behavior"},{"line_number":88,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":89,"context_line":"* New size must be a positive integer **less than** the current size and"},{"line_number":90,"context_line":"  within quotas."},{"line_number":91,"context_line":"* During the operation, the share status transitions to **shrinking**"},{"line_number":92,"context_line":"  and returns to **available** on success."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"For information on resizing shares, refer to the OpenStack Manila"},{"line_number":95,"context_line":"administration guide:"}],"source_content_type":"text/x-rst","patch_set":7,"id":"6a8607f2_cc95628c","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":42},"in_reply_to":"97a7b2b0_80a52cab","updated":"2026-02-05 11:49:25.000000000","message":"Can we address this in follow-up patch as well?","commit_id":"5379f99c7e04b2ac9b52206c395f8dc6b43d99e1"}],"manila/share/drivers/dell_emc/driver.py":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c044d2521a32592640b5a71816a94249b4d597a0","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.revert_to_snap_support \u003d getattr("},{"line_number":102,"context_line":"            self.plugin, \u0027revert_to_snap_support\u0027, False)"},{"line_number":103,"context_line":"        self.shrink_share_support \u003d getattr("},{"line_number":104,"context_line":"            self.plugin, \u0027shrink_share_support\u0027, False)"},{"line_number":105,"context_line":"        self.manage_existing_support \u003d getattr("},{"line_number":106,"context_line":"            self.plugin, \u0027manage_existing_support\u0027, False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"59e9bd3f_caf8f7bf","side":"PARENT","line":103,"updated":"2026-01-09 00:34:10.000000000","message":"Same comment with #972424(manage/unmanage share)\nInstead of these changes in `driver.py`, adding `self.shrink_share_support \u003d True` to the `powerscale.py` file would be the right way!","commit_id":"5122362344c8c51c1de117ae275109fc27e1dc07"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":true,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.revert_to_snap_support \u003d getattr("},{"line_number":102,"context_line":"            self.plugin, \u0027revert_to_snap_support\u0027, False)"},{"line_number":103,"context_line":"        self.shrink_share_support \u003d getattr("},{"line_number":104,"context_line":"            self.plugin, \u0027shrink_share_support\u0027, False)"},{"line_number":105,"context_line":"        self.manage_existing_support \u003d getattr("},{"line_number":106,"context_line":"            self.plugin, \u0027manage_existing_support\u0027, False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"79192102_cc1d1d09","side":"PARENT","line":103,"in_reply_to":"59e9bd3f_caf8f7bf","updated":"2026-01-12 08:46:29.000000000","message":"Agree same as Manage/Unmanage share does not required changes in driver.py file.","commit_id":"5122362344c8c51c1de117ae275109fc27e1dc07"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.revert_to_snap_support \u003d getattr("},{"line_number":102,"context_line":"            self.plugin, \u0027revert_to_snap_support\u0027, False)"},{"line_number":103,"context_line":"        self.shrink_share_support \u003d getattr("},{"line_number":104,"context_line":"            self.plugin, \u0027shrink_share_support\u0027, False)"},{"line_number":105,"context_line":"        self.manage_existing_support \u003d getattr("},{"line_number":106,"context_line":"            self.plugin, \u0027manage_existing_support\u0027, False)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e31d2d16_8cb0034f","side":"PARENT","line":103,"in_reply_to":"79192102_cc1d1d09","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"5122362344c8c51c1de117ae275109fc27e1dc07"}],"manila/share/drivers/dell_emc/plugins/powerscale/powerscale.py":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c044d2521a32592640b5a71816a94249b4d597a0","unresolved":true,"context_lines":[{"line_number":85,"context_line":"        self.reserved_snapshot_percentage \u003d None"},{"line_number":86,"context_line":"        self.reserved_share_extend_percentage \u003d None"},{"line_number":87,"context_line":"        self.max_over_subscription_ratio \u003d None"},{"line_number":88,"context_line":"        self._threshold_limit \u003d 0"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _get_container_path(self, share):"},{"line_number":91,"context_line":"        \"\"\"Return path to a container.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"2c3d92f8_d3db750f","line":88,"updated":"2026-01-09 00:34:10.000000000","message":"Here is my suggestion.\n\n```suggestion\n        self._threshold_limit \u003d 0\n        self.shrink_share_support \u003d True\n```","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        self.reserved_snapshot_percentage \u003d None"},{"line_number":86,"context_line":"        self.reserved_share_extend_percentage \u003d None"},{"line_number":87,"context_line":"        self.max_over_subscription_ratio \u003d None"},{"line_number":88,"context_line":"        self._threshold_limit \u003d 0"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def _get_container_path(self, share):"},{"line_number":91,"context_line":"        \"\"\"Return path to a container.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"ea4dd6df_e30605af","line":88,"in_reply_to":"2c3d92f8_d3db750f","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"29524e7d4ab8b1a5fefb47bfb4d5d34f1a0bb2f1","unresolved":true,"context_lines":[{"line_number":312,"context_line":"                \u0027used\u0027: used_bytes"},{"line_number":313,"context_line":"            })"},{"line_number":314,"context_line":"            LOG.error(message)"},{"line_number":315,"context_line":"            raise exception.ShareShrinkingError("},{"line_number":316,"context_line":"                share_id\u003dshare.get(\u0027id\u0027, share.get(\u0027name\u0027)),"},{"line_number":317,"context_line":"                reason\u003dmessage,"},{"line_number":318,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":6,"id":"7b7a68ef_f8417e1c","line":315,"range":{"start_line":315,"start_character":28,"end_line":315,"end_character":47},"updated":"2026-01-20 19:29:54.000000000","message":"please use ShareShrinkingPossibleDataLoss instead","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"ed4cead31994d79052b1a079c9127a3b189c40be","unresolved":false,"context_lines":[{"line_number":312,"context_line":"                \u0027used\u0027: used_bytes"},{"line_number":313,"context_line":"            })"},{"line_number":314,"context_line":"            LOG.error(message)"},{"line_number":315,"context_line":"            raise exception.ShareShrinkingError("},{"line_number":316,"context_line":"                share_id\u003dshare.get(\u0027id\u0027, share.get(\u0027name\u0027)),"},{"line_number":317,"context_line":"                reason\u003dmessage,"},{"line_number":318,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":6,"id":"f614d984_18695e5d","line":315,"range":{"start_line":315,"start_character":28,"end_line":315,"end_character":47},"in_reply_to":"7b7a68ef_f8417e1c","updated":"2026-01-28 04:47:34.000000000","message":"Done","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"}],"manila/share/drivers/dell_emc/plugins/powerscale/powerscale_api.py":[{"author":{"_account_id":36741,"name":"Eunkyung Kim","display_name":"eunkyung","email":"ek121.kim@samsung.com","username":"eunkyung"},"change_message_id":"c044d2521a32592640b5a71816a94249b4d597a0","unresolved":true,"context_lines":[{"line_number":339,"context_line":"            quota_id \u003d quota_json[\u0027id\u0027]"},{"line_number":340,"context_line":"            self.quota_modify_size(quota_id, size)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def get_directory_usage(self, path):"},{"line_number":343,"context_line":"        url \u003d f\"{self.host_url}/platform/1/quota/quotas?path\u003d{path}\""},{"line_number":344,"context_line":"        response \u003d self.send_get_request(url)"},{"line_number":345,"context_line":"        response.raise_for_status()"}],"source_content_type":"text/x-python","patch_set":5,"id":"0be7dd59_f2e9dec7","line":342,"updated":"2026-01-09 00:34:10.000000000","message":"It seems that this function could be replaced by the existing function `quota_get`.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":339,"context_line":"            quota_id \u003d quota_json[\u0027id\u0027]"},{"line_number":340,"context_line":"            self.quota_modify_size(quota_id, size)"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def get_directory_usage(self, path):"},{"line_number":343,"context_line":"        url \u003d f\"{self.host_url}/platform/1/quota/quotas?path\u003d{path}\""},{"line_number":344,"context_line":"        response \u003d self.send_get_request(url)"},{"line_number":345,"context_line":"        response.raise_for_status()"}],"source_content_type":"text/x-python","patch_set":5,"id":"39c56991_55f7354d","line":342,"in_reply_to":"0be7dd59_f2e9dec7","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"}],"manila/tests/share/drivers/dell_emc/plugins/powerscale/test_powerscale.py":[{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":true,"context_lines":[{"line_number":1108,"context_line":"            2 * units.Gi,"},{"line_number":1109,"context_line":"        )"},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"    @mock.patch("},{"line_number":1112,"context_line":"        \u0027manila.share.drivers.dell_emc.plugins.powerscale.powerscale.\u0027"},{"line_number":1113,"context_line":"        \u0027powerscale_api.PowerScaleApi\u0027,"},{"line_number":1114,"context_line":"        autospec\u003dTrue,"},{"line_number":1115,"context_line":"    )"},{"line_number":1116,"context_line":"    def test_connect_root_dir_exists_no_creation(self, api_cls):"},{"line_number":1117,"context_line":"        api \u003d api_cls.return_value"},{"line_number":1118,"context_line":"        api.is_path_existent.return_value \u003d True"},{"line_number":1119,"context_line":"        conn \u003d powerscale.PowerScaleStorageConnection(LOG)"},{"line_number":1120,"context_line":"        drv \u003d mock.Mock(\u0027EmcDriver\u0027)"},{"line_number":1121,"context_line":"        drv.attach_mock(self.MockConfig(), \u0027configuration\u0027)"},{"line_number":1122,"context_line":"        conn.connect(drv, self.mock_context)"},{"line_number":1123,"context_line":"        api.create_directory.assert_not_called()"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def test__get_cifs_ip_list_multiple_rw(self):"},{"line_number":1126,"context_line":"        rules \u003d ["},{"line_number":1127,"context_line":"            {"},{"line_number":1128,"context_line":"                \u0027access_id\u0027: \u0027i1\u0027,"},{"line_number":1129,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1130,"context_line":"                \u0027access_to\u0027: \u00271.1.1.1\u0027,"},{"line_number":1131,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1132,"context_line":"            },"},{"line_number":1133,"context_line":"            {"},{"line_number":1134,"context_line":"                \u0027access_id\u0027: \u0027i2\u0027,"},{"line_number":1135,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1136,"context_line":"                \u0027access_to\u0027: \u00272.2.2.2\u0027,"},{"line_number":1137,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1138,"context_line":"            },"},{"line_number":1139,"context_line":"        ]"},{"line_number":1140,"context_line":"        rule_state \u003d {}"},{"line_number":1141,"context_line":"        ips \u003d self.storage_connection._get_cifs_ip_list(rules, rule_state)"},{"line_number":1142,"context_line":"        self.assertEqual([\u0027allow:1.1.1.1\u0027, \u0027allow:2.2.2.2\u0027], ips)"},{"line_number":1143,"context_line":"        self.assertEqual("},{"line_number":1144,"context_line":"            {\u0027i1\u0027: {\u0027state\u0027: \u0027active\u0027}, \u0027i2\u0027: {\u0027state\u0027: \u0027active\u0027}},"},{"line_number":1145,"context_line":"            rule_state,"},{"line_number":1146,"context_line":"        )"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"    def test__get_cifs_user_permissions_rw_and_ro_users(self):"},{"line_number":1149,"context_line":"        rules \u003d ["},{"line_number":1150,"context_line":"            {"},{"line_number":1151,"context_line":"                \u0027access_id\u0027: \u0027u1\u0027,"},{"line_number":1152,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1153,"context_line":"                \u0027access_to\u0027: \u0027alice\u0027,"},{"line_number":1154,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1155,"context_line":"            },"},{"line_number":1156,"context_line":"            {"},{"line_number":1157,"context_line":"                \u0027access_id\u0027: \u0027u2\u0027,"},{"line_number":1158,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1159,"context_line":"                \u0027access_to\u0027: \u0027bob\u0027,"},{"line_number":1160,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RO,"},{"line_number":1161,"context_line":"            },"},{"line_number":1162,"context_line":"        ]"},{"line_number":1163,"context_line":"        self._mock_powerscale_api.get_user_sid.side_effect \u003d ["},{"line_number":1164,"context_line":"            {\u0027id\u0027: \u0027SID:ALICE\u0027, \u0027name\u0027: \u0027alice\u0027, \u0027type\u0027: \u0027user\u0027},"},{"line_number":1165,"context_line":"            {\u0027id\u0027: \u0027SID:BOB\u0027, \u0027name\u0027: \u0027bob\u0027, \u0027type\u0027: \u0027user\u0027},"},{"line_number":1166,"context_line":"        ]"},{"line_number":1167,"context_line":"        rule_state \u003d {}"},{"line_number":1168,"context_line":"        perms \u003d self.storage_connection._get_cifs_user_permissions("},{"line_number":1169,"context_line":"            rules, rule_state"},{"line_number":1170,"context_line":"        )"},{"line_number":1171,"context_line":"        self.assertEqual("},{"line_number":1172,"context_line":"            ["},{"line_number":1173,"context_line":"                {"},{"line_number":1174,"context_line":"                    \u0027permission\u0027: \u0027change\u0027,"},{"line_number":1175,"context_line":"                    \u0027permission_type\u0027: \u0027allow\u0027,"},{"line_number":1176,"context_line":"                    \u0027trustee\u0027: {"},{"line_number":1177,"context_line":"                        \u0027id\u0027: \u0027SID:ALICE\u0027,"},{"line_number":1178,"context_line":"                        \u0027name\u0027: \u0027alice\u0027,"},{"line_number":1179,"context_line":"                        \u0027type\u0027: \u0027user\u0027,"},{"line_number":1180,"context_line":"                    },"},{"line_number":1181,"context_line":"                },"},{"line_number":1182,"context_line":"                {"},{"line_number":1183,"context_line":"                    \u0027permission\u0027: \u0027read\u0027,"},{"line_number":1184,"context_line":"                    \u0027permission_type\u0027: \u0027allow\u0027,"},{"line_number":1185,"context_line":"                    \u0027trustee\u0027: {"},{"line_number":1186,"context_line":"                        \u0027id\u0027: \u0027SID:BOB\u0027,"},{"line_number":1187,"context_line":"                        \u0027name\u0027: \u0027bob\u0027,"},{"line_number":1188,"context_line":"                        \u0027type\u0027: \u0027user\u0027,"},{"line_number":1189,"context_line":"                    },"},{"line_number":1190,"context_line":"                },"},{"line_number":1191,"context_line":"            ],"},{"line_number":1192,"context_line":"            perms,"},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        self.assertEqual("},{"line_number":1195,"context_line":"            {\u0027u1\u0027: {\u0027state\u0027: \u0027active\u0027}, \u0027u2\u0027: {\u0027state\u0027: \u0027active\u0027}},"},{"line_number":1196,"context_line":"            rule_state,"},{"line_number":1197,"context_line":"        )"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"    def test_update_access_entry_points_dispatch(self):"},{"line_number":1200,"context_line":"        with mock.patch.object("},{"line_number":1201,"context_line":"            self.storage_connection, \u0027_update_access_nfs\u0027,"},{"line_number":1202,"context_line":"            return_value\u003d{\u0027n\u0027: \u0027ok\u0027},"},{"line_number":1203,"context_line":"        ) as nfs:"},{"line_number":1204,"context_line":"            res \u003d self.storage_connection.update_access("},{"line_number":1205,"context_line":"                self.mock_context,"},{"line_number":1206,"context_line":"                {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027NFS\u0027},"},{"line_number":1207,"context_line":"                [],"},{"line_number":1208,"context_line":"                [],"},{"line_number":1209,"context_line":"                [],"},{"line_number":1210,"context_line":"                None,"},{"line_number":1211,"context_line":"            )"},{"line_number":1212,"context_line":"        self.assertEqual({\u0027n\u0027: \u0027ok\u0027}, res)"},{"line_number":1213,"context_line":"        nfs.assert_called_once()"},{"line_number":1214,"context_line":"        with mock.patch.object("},{"line_number":1215,"context_line":"            self.storage_connection, \u0027_update_access_cifs\u0027,"},{"line_number":1216,"context_line":"            return_value\u003d{\u0027c\u0027: \u0027ok\u0027},"},{"line_number":1217,"context_line":"        ) as cifs:"},{"line_number":1218,"context_line":"            res \u003d self.storage_connection.update_access("},{"line_number":1219,"context_line":"                self.mock_context,"},{"line_number":1220,"context_line":"                {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027CIFS\u0027},"},{"line_number":1221,"context_line":"                [],"},{"line_number":1222,"context_line":"                [],"},{"line_number":1223,"context_line":"                [],"},{"line_number":1224,"context_line":"                None,"},{"line_number":1225,"context_line":"            )"},{"line_number":1226,"context_line":"        self.assertEqual({\u0027c\u0027: \u0027ok\u0027}, res)"},{"line_number":1227,"context_line":"        cifs.assert_called_once()"},{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    def test_helper_format_paths_and_location(self):"},{"line_number":1230,"context_line":"        self.storage_connection._server \u003d self.POWERSCALE_ADDR"},{"line_number":1231,"context_line":"        smb \u003d self.storage_connection._format_smb_path(\u0027foo\u0027)"},{"line_number":1232,"context_line":"        nfs \u003d self.storage_connection._format_nfs_path(\u0027/ifs/x\u0027)"},{"line_number":1233,"context_line":"        loc \u003d self.storage_connection._get_location(\u0027p\u0027)"},{"line_number":1234,"context_line":"        self.assertEqual(r\u0027\\\\10.0.0.1\\foo\u0027, smb)"},{"line_number":1235,"context_line":"        self.assertEqual(\u002710.0.0.1:/ifs/x\u0027, nfs)"},{"line_number":1236,"context_line":"        self.assertEqual("},{"line_number":1237,"context_line":"            ["},{"line_number":1238,"context_line":"                {"},{"line_number":1239,"context_line":"                    \u0027path\u0027: \u0027p\u0027,"},{"line_number":1240,"context_line":"                    \u0027is_admin_only\u0027: False,"},{"line_number":1241,"context_line":"                    \u0027metadata\u0027: {\u0027preferred\u0027: True},"},{"line_number":1242,"context_line":"                },"},{"line_number":1243,"context_line":"            ],"},{"line_number":1244,"context_line":"            loc,"},{"line_number":1245,"context_line":"        )"},{"line_number":1246,"context_line":""},{"line_number":1247,"context_line":"    def test_update_access_cifs_modify_returns_false_sets_all_error(self):"},{"line_number":1248,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027CIFS\u0027}"},{"line_number":1249,"context_line":"        rules \u003d ["},{"line_number":1250,"context_line":"            {"},{"line_number":1251,"context_line":"                \u0027access_id\u0027: \u0027i1\u0027,"},{"line_number":1252,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1253,"context_line":"                \u0027access_to\u0027: \u00271.1.1.1\u0027,"},{"line_number":1254,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1255,"context_line":"            },"},{"line_number":1256,"context_line":"            {"},{"line_number":1257,"context_line":"                \u0027access_id\u0027: \u0027u1\u0027,"},{"line_number":1258,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1259,"context_line":"                \u0027access_to\u0027: \u0027alice\u0027,"},{"line_number":1260,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RO,"},{"line_number":1261,"context_line":"            },"},{"line_number":1262,"context_line":"        ]"},{"line_number":1263,"context_line":"        self._mock_powerscale_api.get_user_sid.return_value \u003d {"},{"line_number":1264,"context_line":"            \u0027id\u0027: \u0027SID:A\u0027, \u0027name\u0027: \u0027alice\u0027, \u0027type\u0027: \u0027user\u0027,"},{"line_number":1265,"context_line":"        }"},{"line_number":1266,"context_line":"        self._mock_powerscale_api.modify_smb_share_access.return_value \u003d False"},{"line_number":1267,"context_line":"        state \u003d self.storage_connection.update_access("},{"line_number":1268,"context_line":"            self.mock_context, share, rules, [], []"},{"line_number":1269,"context_line":"        )"},{"line_number":1270,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027i1\u0027][\u0027state\u0027])"},{"line_number":1271,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027u1\u0027][\u0027state\u0027])"},{"line_number":1272,"context_line":""},{"line_number":1273,"context_line":"    def test_shrink_share_raises_when_new_quota_less_than_used(self):"},{"line_number":1274,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027id\u0027: \u0027fake-id\u0027}"}],"source_content_type":"text/x-python","patch_set":5,"id":"9b9df9e2_39eef720","line":1271,"range":{"start_line":1111,"start_character":4,"end_line":1271,"end_character":55},"updated":"2026-01-12 08:46:29.000000000","message":"this all test cases are not required if you do not changed the code.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":1108,"context_line":"            2 * units.Gi,"},{"line_number":1109,"context_line":"        )"},{"line_number":1110,"context_line":""},{"line_number":1111,"context_line":"    @mock.patch("},{"line_number":1112,"context_line":"        \u0027manila.share.drivers.dell_emc.plugins.powerscale.powerscale.\u0027"},{"line_number":1113,"context_line":"        \u0027powerscale_api.PowerScaleApi\u0027,"},{"line_number":1114,"context_line":"        autospec\u003dTrue,"},{"line_number":1115,"context_line":"    )"},{"line_number":1116,"context_line":"    def test_connect_root_dir_exists_no_creation(self, api_cls):"},{"line_number":1117,"context_line":"        api \u003d api_cls.return_value"},{"line_number":1118,"context_line":"        api.is_path_existent.return_value \u003d True"},{"line_number":1119,"context_line":"        conn \u003d powerscale.PowerScaleStorageConnection(LOG)"},{"line_number":1120,"context_line":"        drv \u003d mock.Mock(\u0027EmcDriver\u0027)"},{"line_number":1121,"context_line":"        drv.attach_mock(self.MockConfig(), \u0027configuration\u0027)"},{"line_number":1122,"context_line":"        conn.connect(drv, self.mock_context)"},{"line_number":1123,"context_line":"        api.create_directory.assert_not_called()"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def test__get_cifs_ip_list_multiple_rw(self):"},{"line_number":1126,"context_line":"        rules \u003d ["},{"line_number":1127,"context_line":"            {"},{"line_number":1128,"context_line":"                \u0027access_id\u0027: \u0027i1\u0027,"},{"line_number":1129,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1130,"context_line":"                \u0027access_to\u0027: \u00271.1.1.1\u0027,"},{"line_number":1131,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1132,"context_line":"            },"},{"line_number":1133,"context_line":"            {"},{"line_number":1134,"context_line":"                \u0027access_id\u0027: \u0027i2\u0027,"},{"line_number":1135,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1136,"context_line":"                \u0027access_to\u0027: \u00272.2.2.2\u0027,"},{"line_number":1137,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1138,"context_line":"            },"},{"line_number":1139,"context_line":"        ]"},{"line_number":1140,"context_line":"        rule_state \u003d {}"},{"line_number":1141,"context_line":"        ips \u003d self.storage_connection._get_cifs_ip_list(rules, rule_state)"},{"line_number":1142,"context_line":"        self.assertEqual([\u0027allow:1.1.1.1\u0027, \u0027allow:2.2.2.2\u0027], ips)"},{"line_number":1143,"context_line":"        self.assertEqual("},{"line_number":1144,"context_line":"            {\u0027i1\u0027: {\u0027state\u0027: \u0027active\u0027}, \u0027i2\u0027: {\u0027state\u0027: \u0027active\u0027}},"},{"line_number":1145,"context_line":"            rule_state,"},{"line_number":1146,"context_line":"        )"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"    def test__get_cifs_user_permissions_rw_and_ro_users(self):"},{"line_number":1149,"context_line":"        rules \u003d ["},{"line_number":1150,"context_line":"            {"},{"line_number":1151,"context_line":"                \u0027access_id\u0027: \u0027u1\u0027,"},{"line_number":1152,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1153,"context_line":"                \u0027access_to\u0027: \u0027alice\u0027,"},{"line_number":1154,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1155,"context_line":"            },"},{"line_number":1156,"context_line":"            {"},{"line_number":1157,"context_line":"                \u0027access_id\u0027: \u0027u2\u0027,"},{"line_number":1158,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1159,"context_line":"                \u0027access_to\u0027: \u0027bob\u0027,"},{"line_number":1160,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RO,"},{"line_number":1161,"context_line":"            },"},{"line_number":1162,"context_line":"        ]"},{"line_number":1163,"context_line":"        self._mock_powerscale_api.get_user_sid.side_effect \u003d ["},{"line_number":1164,"context_line":"            {\u0027id\u0027: \u0027SID:ALICE\u0027, \u0027name\u0027: \u0027alice\u0027, \u0027type\u0027: \u0027user\u0027},"},{"line_number":1165,"context_line":"            {\u0027id\u0027: \u0027SID:BOB\u0027, \u0027name\u0027: \u0027bob\u0027, \u0027type\u0027: \u0027user\u0027},"},{"line_number":1166,"context_line":"        ]"},{"line_number":1167,"context_line":"        rule_state \u003d {}"},{"line_number":1168,"context_line":"        perms \u003d self.storage_connection._get_cifs_user_permissions("},{"line_number":1169,"context_line":"            rules, rule_state"},{"line_number":1170,"context_line":"        )"},{"line_number":1171,"context_line":"        self.assertEqual("},{"line_number":1172,"context_line":"            ["},{"line_number":1173,"context_line":"                {"},{"line_number":1174,"context_line":"                    \u0027permission\u0027: \u0027change\u0027,"},{"line_number":1175,"context_line":"                    \u0027permission_type\u0027: \u0027allow\u0027,"},{"line_number":1176,"context_line":"                    \u0027trustee\u0027: {"},{"line_number":1177,"context_line":"                        \u0027id\u0027: \u0027SID:ALICE\u0027,"},{"line_number":1178,"context_line":"                        \u0027name\u0027: \u0027alice\u0027,"},{"line_number":1179,"context_line":"                        \u0027type\u0027: \u0027user\u0027,"},{"line_number":1180,"context_line":"                    },"},{"line_number":1181,"context_line":"                },"},{"line_number":1182,"context_line":"                {"},{"line_number":1183,"context_line":"                    \u0027permission\u0027: \u0027read\u0027,"},{"line_number":1184,"context_line":"                    \u0027permission_type\u0027: \u0027allow\u0027,"},{"line_number":1185,"context_line":"                    \u0027trustee\u0027: {"},{"line_number":1186,"context_line":"                        \u0027id\u0027: \u0027SID:BOB\u0027,"},{"line_number":1187,"context_line":"                        \u0027name\u0027: \u0027bob\u0027,"},{"line_number":1188,"context_line":"                        \u0027type\u0027: \u0027user\u0027,"},{"line_number":1189,"context_line":"                    },"},{"line_number":1190,"context_line":"                },"},{"line_number":1191,"context_line":"            ],"},{"line_number":1192,"context_line":"            perms,"},{"line_number":1193,"context_line":"        )"},{"line_number":1194,"context_line":"        self.assertEqual("},{"line_number":1195,"context_line":"            {\u0027u1\u0027: {\u0027state\u0027: \u0027active\u0027}, \u0027u2\u0027: {\u0027state\u0027: \u0027active\u0027}},"},{"line_number":1196,"context_line":"            rule_state,"},{"line_number":1197,"context_line":"        )"},{"line_number":1198,"context_line":""},{"line_number":1199,"context_line":"    def test_update_access_entry_points_dispatch(self):"},{"line_number":1200,"context_line":"        with mock.patch.object("},{"line_number":1201,"context_line":"            self.storage_connection, \u0027_update_access_nfs\u0027,"},{"line_number":1202,"context_line":"            return_value\u003d{\u0027n\u0027: \u0027ok\u0027},"},{"line_number":1203,"context_line":"        ) as nfs:"},{"line_number":1204,"context_line":"            res \u003d self.storage_connection.update_access("},{"line_number":1205,"context_line":"                self.mock_context,"},{"line_number":1206,"context_line":"                {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027NFS\u0027},"},{"line_number":1207,"context_line":"                [],"},{"line_number":1208,"context_line":"                [],"},{"line_number":1209,"context_line":"                [],"},{"line_number":1210,"context_line":"                None,"},{"line_number":1211,"context_line":"            )"},{"line_number":1212,"context_line":"        self.assertEqual({\u0027n\u0027: \u0027ok\u0027}, res)"},{"line_number":1213,"context_line":"        nfs.assert_called_once()"},{"line_number":1214,"context_line":"        with mock.patch.object("},{"line_number":1215,"context_line":"            self.storage_connection, \u0027_update_access_cifs\u0027,"},{"line_number":1216,"context_line":"            return_value\u003d{\u0027c\u0027: \u0027ok\u0027},"},{"line_number":1217,"context_line":"        ) as cifs:"},{"line_number":1218,"context_line":"            res \u003d self.storage_connection.update_access("},{"line_number":1219,"context_line":"                self.mock_context,"},{"line_number":1220,"context_line":"                {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027CIFS\u0027},"},{"line_number":1221,"context_line":"                [],"},{"line_number":1222,"context_line":"                [],"},{"line_number":1223,"context_line":"                [],"},{"line_number":1224,"context_line":"                None,"},{"line_number":1225,"context_line":"            )"},{"line_number":1226,"context_line":"        self.assertEqual({\u0027c\u0027: \u0027ok\u0027}, res)"},{"line_number":1227,"context_line":"        cifs.assert_called_once()"},{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    def test_helper_format_paths_and_location(self):"},{"line_number":1230,"context_line":"        self.storage_connection._server \u003d self.POWERSCALE_ADDR"},{"line_number":1231,"context_line":"        smb \u003d self.storage_connection._format_smb_path(\u0027foo\u0027)"},{"line_number":1232,"context_line":"        nfs \u003d self.storage_connection._format_nfs_path(\u0027/ifs/x\u0027)"},{"line_number":1233,"context_line":"        loc \u003d self.storage_connection._get_location(\u0027p\u0027)"},{"line_number":1234,"context_line":"        self.assertEqual(r\u0027\\\\10.0.0.1\\foo\u0027, smb)"},{"line_number":1235,"context_line":"        self.assertEqual(\u002710.0.0.1:/ifs/x\u0027, nfs)"},{"line_number":1236,"context_line":"        self.assertEqual("},{"line_number":1237,"context_line":"            ["},{"line_number":1238,"context_line":"                {"},{"line_number":1239,"context_line":"                    \u0027path\u0027: \u0027p\u0027,"},{"line_number":1240,"context_line":"                    \u0027is_admin_only\u0027: False,"},{"line_number":1241,"context_line":"                    \u0027metadata\u0027: {\u0027preferred\u0027: True},"},{"line_number":1242,"context_line":"                },"},{"line_number":1243,"context_line":"            ],"},{"line_number":1244,"context_line":"            loc,"},{"line_number":1245,"context_line":"        )"},{"line_number":1246,"context_line":""},{"line_number":1247,"context_line":"    def test_update_access_cifs_modify_returns_false_sets_all_error(self):"},{"line_number":1248,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027share_proto\u0027: \u0027CIFS\u0027}"},{"line_number":1249,"context_line":"        rules \u003d ["},{"line_number":1250,"context_line":"            {"},{"line_number":1251,"context_line":"                \u0027access_id\u0027: \u0027i1\u0027,"},{"line_number":1252,"context_line":"                \u0027access_type\u0027: \u0027ip\u0027,"},{"line_number":1253,"context_line":"                \u0027access_to\u0027: \u00271.1.1.1\u0027,"},{"line_number":1254,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RW,"},{"line_number":1255,"context_line":"            },"},{"line_number":1256,"context_line":"            {"},{"line_number":1257,"context_line":"                \u0027access_id\u0027: \u0027u1\u0027,"},{"line_number":1258,"context_line":"                \u0027access_type\u0027: \u0027user\u0027,"},{"line_number":1259,"context_line":"                \u0027access_to\u0027: \u0027alice\u0027,"},{"line_number":1260,"context_line":"                \u0027access_level\u0027: const.ACCESS_LEVEL_RO,"},{"line_number":1261,"context_line":"            },"},{"line_number":1262,"context_line":"        ]"},{"line_number":1263,"context_line":"        self._mock_powerscale_api.get_user_sid.return_value \u003d {"},{"line_number":1264,"context_line":"            \u0027id\u0027: \u0027SID:A\u0027, \u0027name\u0027: \u0027alice\u0027, \u0027type\u0027: \u0027user\u0027,"},{"line_number":1265,"context_line":"        }"},{"line_number":1266,"context_line":"        self._mock_powerscale_api.modify_smb_share_access.return_value \u003d False"},{"line_number":1267,"context_line":"        state \u003d self.storage_connection.update_access("},{"line_number":1268,"context_line":"            self.mock_context, share, rules, [], []"},{"line_number":1269,"context_line":"        )"},{"line_number":1270,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027i1\u0027][\u0027state\u0027])"},{"line_number":1271,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027u1\u0027][\u0027state\u0027])"},{"line_number":1272,"context_line":""},{"line_number":1273,"context_line":"    def test_shrink_share_raises_when_new_quota_less_than_used(self):"},{"line_number":1274,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027id\u0027: \u0027fake-id\u0027}"}],"source_content_type":"text/x-python","patch_set":5,"id":"d5d2fad8_46c21d07","line":1271,"range":{"start_line":1111,"start_character":4,"end_line":1271,"end_character":55},"in_reply_to":"9b9df9e2_39eef720","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":true,"context_lines":[{"line_number":1270,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027i1\u0027][\u0027state\u0027])"},{"line_number":1271,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027u1\u0027][\u0027state\u0027])"},{"line_number":1272,"context_line":""},{"line_number":1273,"context_line":"    def test_shrink_share_raises_when_new_quota_less_than_used(self):"},{"line_number":1274,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027id\u0027: \u0027fake-id\u0027}"},{"line_number":1275,"context_line":"        new_size \u003d 1"},{"line_number":1276,"context_line":"        used_bytes \u003d 2 * units.Gi"}],"source_content_type":"text/x-python","patch_set":5,"id":"c09977e5_0a91b741","line":1273,"updated":"2026-01-12 08:46:29.000000000","message":"Not a proper approach to write negative test case.\n\nUse asserRaise or take existing test cases example.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":1270,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027i1\u0027][\u0027state\u0027])"},{"line_number":1271,"context_line":"        self.assertEqual(\u0027error\u0027, state[\u0027u1\u0027][\u0027state\u0027])"},{"line_number":1272,"context_line":""},{"line_number":1273,"context_line":"    def test_shrink_share_raises_when_new_quota_less_than_used(self):"},{"line_number":1274,"context_line":"        share \u003d {\u0027name\u0027: self.SHARE_NAME, \u0027id\u0027: \u0027fake-id\u0027}"},{"line_number":1275,"context_line":"        new_size \u003d 1"},{"line_number":1276,"context_line":"        used_bytes \u003d 2 * units.Gi"}],"source_content_type":"text/x-python","patch_set":5,"id":"edd01483_c4ca45a6","line":1273,"in_reply_to":"c09977e5_0a91b741","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"}],"manila/tests/share/drivers/dell_emc/test_driver.py":[{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","unresolved":true,"context_lines":[{"line_number":279,"context_line":"                                                           driver_options)"},{"line_number":280,"context_line":"        self.assertIsInstance(result, NotImplementedError)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        self.driver.shrink_share(share, 20, share_server)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        share_access_rules \u003d mock.Mock()"},{"line_number":285,"context_line":"        snapshot_access_rules \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9df53bc6_28477f7a","line":282,"updated":"2026-01-12 08:46:29.000000000","message":"this is not right place, you need to add this in ``test_support_manage``.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","unresolved":false,"context_lines":[{"line_number":279,"context_line":"                                                           driver_options)"},{"line_number":280,"context_line":"        self.assertIsInstance(result, NotImplementedError)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        self.driver.shrink_share(share, 20, share_server)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        share_access_rules \u003d mock.Mock()"},{"line_number":285,"context_line":"        snapshot_access_rules \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":5,"id":"58085bc4_0350d603","line":282,"in_reply_to":"9df53bc6_28477f7a","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"}],"releasenotes/notes/bp-dell-powerscale-share-shrink-support-e614cfa3cbfa4dd1.yaml":[{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"5dd2647b233ecb085ee1a6fa9c1829b32d1e8d4b","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":"    Dell PowerScale Manila Driver: The Dell PowerScale driver in Manila now supports shrinking shares."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"e3b8493b_c752b37e","line":1,"updated":"2026-01-12 08:46:29.000000000","message":"Add new line at the end of file.","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"7b89489434108cea4075d7d2931961ee4d90d407","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":"    Dell PowerScale Manila Driver: The Dell PowerScale driver in Manila now supports shrinking shares."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"26544b46_53923211","line":1,"in_reply_to":"e3b8493b_c752b37e","updated":"2026-01-16 10:10:47.000000000","message":"Done","commit_id":"2f6b622d7196d02d263bfc2c28eba10b691ed977"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"29524e7d4ab8b1a5fefb47bfb4d5d34f1a0bb2f1","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":"    Dell PowerScale Manila Driver: The Dell PowerScale driver in Manila now supports shrinking shares."},{"line_number":5,"context_line":"    This allows users to reduce the size of an existing share using the Manila API."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"dcb21f63_d1f5219d","line":5,"range":{"start_line":3,"start_character":1,"end_line":5,"end_character":83},"updated":"2026-01-20 19:29:54.000000000","message":"nit: please wrap this at 79 characters","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"},{"author":{"_account_id":38286,"name":"Siddharth Kumar","display_name":"Siddharth","email":"siddharth.kumar1@dell.com","username":"siddhvrth"},"change_message_id":"ed4cead31994d79052b1a079c9127a3b189c40be","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":"    Dell PowerScale Manila Driver: The Dell PowerScale driver in Manila now supports shrinking shares."},{"line_number":5,"context_line":"    This allows users to reduce the size of an existing share using the Manila API."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"2c02df83_a0dc1585","line":5,"range":{"start_line":3,"start_character":1,"end_line":5,"end_character":83},"in_reply_to":"dcb21f63_d1f5219d","updated":"2026-01-28 04:47:34.000000000","message":"Done","commit_id":"6afa9907229af74ed05254a17d26233ef14354c8"}]}
