)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":30,"id":"88ce428e_43a3d362","line":17,"updated":"2026-08-14 19:41:32.000000000","message":"please add a Depends-On to the core change","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"5c8f6e7c_22dddbf4","line":17,"in_reply_to":"88ce428e_43a3d362","updated":"2026-08-18 16:18:59.000000000","message":"Done","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"044c6b88c583dc00775dfc74d51708b8f58eaa71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"79663c7f_5cb23be8","updated":"2026-07-16 12:42:55.000000000","message":"run-HPE Storage Manila CI","commit_id":"537378d26050d7c3713040c5d917d96f4f09f0cd"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"9b06437e02e06d54ea39c8983f15bd7f4879522a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"848dbb57_9e6136a6","updated":"2026-07-16 09:05:08.000000000","message":"run-HPE Storage Manila CI","commit_id":"537378d26050d7c3713040c5d917d96f4f09f0cd"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"d4f133e1f212e16cfdeca7ae07a7da2f1c6553a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"95a3f308_c446c285","updated":"2026-07-16 11:26:11.000000000","message":"run-HPE Storage Manila CI","commit_id":"537378d26050d7c3713040c5d917d96f4f09f0cd"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"e177093f452abbaabb20ec1789d7653a1dd7ba65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"5469fb06_8adae769","updated":"2026-07-17 09:25:03.000000000","message":"run-HPE Storage Manila CI","commit_id":"4e45be9a02a40482e29d53cbcc6eb2c173036962"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"9666180a63eb74bb4dc118cb03156ff4246639f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"8c181c01_c33beecd","updated":"2026-08-09 11:14:21.000000000","message":"run-HPE Storage Manila CI","commit_id":"ac5936b6ac633e78e07e5b4e329cba0fd4ecdd77"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"3fcc673631cc33b05799df3804c492f0f89473e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"e3009c89_566fc727","updated":"2026-08-09 10:56:47.000000000","message":"run-HPE Storage Manila CI","commit_id":"ac5936b6ac633e78e07e5b4e329cba0fd4ecdd77"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"81ee2abc7aa36078e0375804f297ba8d1dea3827","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"818c5c2b_4e16f5ab","updated":"2026-08-10 05:11:40.000000000","message":"run-HPE Storage Manila CI","commit_id":"c448e2aef3a82f96312b14d39267b457d4759513"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"618b212693dd10e6f51c850c464ef374f8a86c58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"5f0c557a_c522fe19","updated":"2026-08-11 13:45:28.000000000","message":"recheck","commit_id":"c2d2035d0fc426ae49956bd615fdeefbc6fd624e"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"0f2d570f_b516cfb7","updated":"2026-08-14 19:41:32.000000000","message":"Thank you for working on this change. Please take a look at the comments inline","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"55f49b3e_a287b193","updated":"2026-08-17 05:31:41.000000000","message":"Thanks for the patch Srinesh. Please take a look at the comments. Keeping -1 till Carlos\u0027s comments and these comments are addressed.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"7aa531343b23f02d0ef2d453a5001a6b969c2db1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"540b5f4d_20a339d8","updated":"2026-08-12 05:00:18.000000000","message":"run-HPE Storage Manila CI","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"2f377d266a4d252c1986c8f06bb07705c3d594d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"e5f92a79_e0782cd4","updated":"2026-08-18 16:24:37.000000000","message":"Thanks for reviewing the changes @anoop.shukla@netapp.com. I have addressed your comments. Please review and let me know.","commit_id":"d181f2809e5ab49720e5d67341270099d92fb217"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"a2ef49fe_d4cb7544","updated":"2026-08-18 16:18:59.000000000","message":"Thanks for reviewing the changes @ces.eduardo98@gmail.com. I have addressed the changes. Please take a look and let me know.","commit_id":"d181f2809e5ab49720e5d67341270099d92fb217"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"f640e07327a8b85b9a55328cb9aa04b5fa3ee77c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"90264c60_1200f8a5","updated":"2026-08-19 07:08:31.000000000","message":"run-HPE Storage Manila CI","commit_id":"d181f2809e5ab49720e5d67341270099d92fb217"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"728273b991ecc26bf79c1713150b4cba04ae99b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"e038a809_70a0855a","updated":"2026-08-19 04:54:44.000000000","message":"run-HPE Storage Manila CI","commit_id":"d181f2809e5ab49720e5d67341270099d92fb217"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4260642b35a628bb0c3fe14a0cc6f66f0d716b57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"416917f6_8f5ecaa6","updated":"2026-08-20 15:32:50.000000000","message":"Can you please rebase this change?","commit_id":"b8baacc3c15c0eef1fb6647c319e6144b3abb538"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"ad9adcc01f2af3c4709424de1fcc7f607d9e263a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"2c5fa261_e6169869","updated":"2026-08-20 15:35:25.000000000","message":"Rebase is required.","commit_id":"b8baacc3c15c0eef1fb6647c319e6144b3abb538"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"1256069e9d8a5a43ccef06d6a2aae2dc19b03dac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"539d51fb_30cdc76c","updated":"2026-08-27 13:04:47.000000000","message":"Hi @gouthampravi@gmail.com @anoop.shukla@netapp.com. Did you get a chance to take a look at the changes. Have addressed your comments.","commit_id":"b382b2e74490361493acf77c61ed018940e7f0a1"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"25d8ccea1bd541f824f491f40b05302ad2040cf6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"22fa1df8_83c33397","updated":"2026-08-25 11:11:21.000000000","message":"LGTM, thanks Srinesh!","commit_id":"b382b2e74490361493acf77c61ed018940e7f0a1"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"80afb12575c09d07597f77c67c0e97d03481e6f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"664c59fc_166099c2","updated":"2026-08-24 15:24:47.000000000","message":"Thanks for reviewing the changes @gouthampravi@gmail.com. I have addressed your comments. Please take a look and let me know.","commit_id":"b382b2e74490361493acf77c61ed018940e7f0a1"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"6dec79c7405790a1169196728aa48746aed97204","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"7c37c17a_f42a0002","updated":"2026-08-24 14:17:14.000000000","message":"run-HPE Storage Manila CI","commit_id":"b382b2e74490361493acf77c61ed018940e7f0a1"}],"doc/source/admin/hpe_alletra_mp_b10000_driver.rst":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":true,"context_lines":[{"line_number":366,"context_line":"- Only NFS protocol is supported; CIFS/SMB is not supported"},{"line_number":367,"context_line":"- Share networks are not supported (driver_handles_share_servers must be False)"},{"line_number":368,"context_line":"- Share shrink is not currently supported"},{"line_number":369,"context_line":"- Creating a share from a snapshot is not supported"},{"line_number":370,"context_line":"- Share migration is not supported"},{"line_number":371,"context_line":"- Share replication is not supported"},{"line_number":372,"context_line":"- Share groups and consistency groups are not supported"}],"source_content_type":"text/x-rst","patch_set":30,"id":"9be06f8a_a07e2243","line":369,"updated":"2026-08-17 05:31:41.000000000","message":"Any particular reason creating a share from snapshot is not supported? Is it a platform limitation or a future planned work? The reason for asking is, this is the safest way to get your backups and use them. Other methods like revert-to and mountable snapshots are disruptive and fiddle with the original Volume or the actual backup.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"2f377d266a4d252c1986c8f06bb07705c3d594d8","unresolved":true,"context_lines":[{"line_number":366,"context_line":"- Only NFS protocol is supported; CIFS/SMB is not supported"},{"line_number":367,"context_line":"- Share networks are not supported (driver_handles_share_servers must be False)"},{"line_number":368,"context_line":"- Share shrink is not currently supported"},{"line_number":369,"context_line":"- Creating a share from a snapshot is not supported"},{"line_number":370,"context_line":"- Share migration is not supported"},{"line_number":371,"context_line":"- Share replication is not supported"},{"line_number":372,"context_line":"- Share groups and consistency groups are not supported"}],"source_content_type":"text/x-rst","patch_set":30,"id":"dc02ba7d_e0142109","line":369,"in_reply_to":"9be06f8a_a07e2243","updated":"2026-08-18 16:24:37.000000000","message":"Currently our HPE Alletra array does not support the operation of creating an independent parent share from a snapshot. Since our backend does not support it didn\u0027t implement the feature.\n\nIt is planned in future releases, once it is available in the array planning to include it here.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"ad9adcc01f2af3c4709424de1fcc7f607d9e263a","unresolved":false,"context_lines":[{"line_number":366,"context_line":"- Only NFS protocol is supported; CIFS/SMB is not supported"},{"line_number":367,"context_line":"- Share networks are not supported (driver_handles_share_servers must be False)"},{"line_number":368,"context_line":"- Share shrink is not currently supported"},{"line_number":369,"context_line":"- Creating a share from a snapshot is not supported"},{"line_number":370,"context_line":"- Share migration is not supported"},{"line_number":371,"context_line":"- Share replication is not supported"},{"line_number":372,"context_line":"- Share groups and consistency groups are not supported"}],"source_content_type":"text/x-rst","patch_set":30,"id":"bd07545a_d78b4091","line":369,"in_reply_to":"dc02ba7d_e0142109","updated":"2026-08-20 15:35:25.000000000","message":"Acknowledged","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"}],"manila/share/drivers/hpe/alletra_mp_b10000/fileshare/filesetup_handler.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":52,"context_line":"        elif len(systems_dict) \u003e 1:"},{"line_number":53,"context_line":"            msg \u003d _(\"BE Systems members field has more than 1 key\")"},{"line_number":54,"context_line":"            LOG.error(msg)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        version \u003d None"},{"line_number":57,"context_line":"        for key in systems_dict:"}],"source_content_type":"text/x-python","patch_set":30,"id":"b085261f_b078c72e","line":54,"updated":"2026-08-17 05:31:41.000000000","message":"Missing an exception raise here?","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"2f377d266a4d252c1986c8f06bb07705c3d594d8","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":52,"context_line":"        elif len(systems_dict) \u003e 1:"},{"line_number":53,"context_line":"            msg \u003d _(\"BE Systems members field has more than 1 key\")"},{"line_number":54,"context_line":"            LOG.error(msg)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        version \u003d None"},{"line_number":57,"context_line":"        for key in systems_dict:"}],"source_content_type":"text/x-python","patch_set":30,"id":"29c0812d_2b57c1d5","line":54,"in_reply_to":"b085261f_b078c72e","updated":"2026-08-18 16:24:37.000000000","message":"Done. Included it.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0834c70e83e475f742edd92eb5facea25a7c16e0","unresolved":true,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        return fe_fileservice"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def get_systems(self):"},{"line_number":85,"context_line":"        _, be_systems \u003d self.rest_client.get(\u0027/systems\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        self.validator.validate_get_systems_be_resp(be_systems)"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a29a2d8_e9d68959","line":84,"updated":"2026-08-24 05:33:39.000000000","message":"`get_systems` (and its validator `validate_get_systems_be_resp`) aren\u0027t used anywhere, anymore?","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"80afb12575c09d07597f77c67c0e97d03481e6f2","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        return fe_fileservice"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    def get_systems(self):"},{"line_number":85,"context_line":"        _, be_systems \u003d self.rest_client.get(\u0027/systems\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        self.validator.validate_get_systems_be_resp(be_systems)"}],"source_content_type":"text/x-python","patch_set":35,"id":"1683de5c_1dbc54e9","line":84,"in_reply_to":"1a29a2d8_e9d68959","updated":"2026-08-24 15:24:47.000000000","message":"Yes they aren\u0027t used anymore. Have removed it.","commit_id":"ba088adf22cf013005c65674983271d9d897079d"}],"manila/share/drivers/hpe/alletra_mp_b10000/fileshare/fileshare_handler.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[{"line_number":402,"context_line":"    def _get_fileshare_by_filesystem_name("},{"line_number":403,"context_line":"            self,"},{"line_number":404,"context_line":"            be_filesystem_name):"},{"line_number":405,"context_line":"        fe_fileshares \u003d self.get_fileshares()"},{"line_number":406,"context_line":"        for fileshare in fe_fileshares:"},{"line_number":407,"context_line":"            if fileshare[\u0027be_filesystem_name\u0027] \u003d\u003d be_filesystem_name:"},{"line_number":408,"context_line":"                # We assume only one share will exist with this condition"}],"source_content_type":"text/x-python","patch_set":30,"id":"0b8601ba_2cf3dca9","line":405,"range":{"start_line":405,"start_character":24,"end_line":405,"end_character":45},"updated":"2026-08-14 19:41:32.000000000","message":"is there a way to query and filter by the name? that would help not iterating through every single filesystem and save some time","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":true,"context_lines":[{"line_number":402,"context_line":"    def _get_fileshare_by_filesystem_name("},{"line_number":403,"context_line":"            self,"},{"line_number":404,"context_line":"            be_filesystem_name):"},{"line_number":405,"context_line":"        fe_fileshares \u003d self.get_fileshares()"},{"line_number":406,"context_line":"        for fileshare in fe_fileshares:"},{"line_number":407,"context_line":"            if fileshare[\u0027be_filesystem_name\u0027] \u003d\u003d be_filesystem_name:"},{"line_number":408,"context_line":"                # We assume only one share will exist with this condition"}],"source_content_type":"text/x-python","patch_set":30,"id":"bbb621bd_531a0103","line":405,"range":{"start_line":405,"start_character":24,"end_line":405,"end_character":45},"in_reply_to":"0b8601ba_2cf3dca9","updated":"2026-08-18 16:18:59.000000000","message":"Currently we don\u0027t have a way to filter by name in our backend V3 APIs. We are planning on addressing this in an upcoming device release. Will plan to include it in manila as well in next cycle along with the newer device release.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"25d8ccea1bd541f824f491f40b05302ad2040cf6","unresolved":false,"context_lines":[{"line_number":402,"context_line":"    def _get_fileshare_by_filesystem_name("},{"line_number":403,"context_line":"            self,"},{"line_number":404,"context_line":"            be_filesystem_name):"},{"line_number":405,"context_line":"        fe_fileshares \u003d self.get_fileshares()"},{"line_number":406,"context_line":"        for fileshare in fe_fileshares:"},{"line_number":407,"context_line":"            if fileshare[\u0027be_filesystem_name\u0027] \u003d\u003d be_filesystem_name:"},{"line_number":408,"context_line":"                # We assume only one share will exist with this condition"}],"source_content_type":"text/x-python","patch_set":30,"id":"c93c18c2_126cc7c4","line":405,"range":{"start_line":405,"start_character":24,"end_line":405,"end_character":45},"in_reply_to":"bbb621bd_531a0103","updated":"2026-08-25 11:11:21.000000000","message":"Acknowledged","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":true,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        if self.feature_support_handler.check_min_r6_device_version():"},{"line_number":794,"context_line":"            if \u0027detailedState\u0027 not in be_fileshare:"},{"line_number":795,"context_line":"                msg \u003d _(\"Mount path not found in get fileshare by id response\")"},{"line_number":796,"context_line":"                LOG.error(msg)"},{"line_number":797,"context_line":"                raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":798,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"b9c2963a_29b174a5","line":795,"range":{"start_line":795,"start_character":25,"end_line":795,"end_character":35},"updated":"2026-08-17 05:31:41.000000000","message":"Log message should reference detailedState?","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"2f377d266a4d252c1986c8f06bb07705c3d594d8","unresolved":false,"context_lines":[{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        if self.feature_support_handler.check_min_r6_device_version():"},{"line_number":794,"context_line":"            if \u0027detailedState\u0027 not in be_fileshare:"},{"line_number":795,"context_line":"                msg \u003d _(\"Mount path not found in get fileshare by id response\")"},{"line_number":796,"context_line":"                LOG.error(msg)"},{"line_number":797,"context_line":"                raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":798,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"9280808b_99fc0350","line":795,"range":{"start_line":795,"start_character":25,"end_line":795,"end_character":35},"in_reply_to":"b9c2963a_29b174a5","updated":"2026-08-18 16:24:37.000000000","message":"Done","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0834c70e83e475f742edd92eb5facea25a7c16e0","unresolved":true,"context_lines":[{"line_number":1101,"context_line":"        (snapshot_update_access is a no-op). Mountable snapshots must"},{"line_number":1102,"context_line":"        therefore inherit access rules from the parent share."},{"line_number":1103,"context_line":"        \"\"\""},{"line_number":1104,"context_line":"        if (mount_snapshot_support_str is None or"},{"line_number":1105,"context_line":"                mount_snapshot_support_str.lower() !\u003d \u0027true\u0027):"},{"line_number":1106,"context_line":"            return"},{"line_number":1107,"context_line":"        if (snapshot_inherit_share_access_support_str is None or"}],"source_content_type":"text/x-python","patch_set":35,"id":"16d082df_7b832432","line":1104,"updated":"2026-08-24 05:33:39.000000000","message":"Please parse both `snapshot_inherit_share_access_support` and `mount_snapshot_support` with `share_types.parse_boolean_extra_spec()` (it handles both `\u003cis\u003e True/False` and bare `True/False`) rather than comparing the raw string.","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"80afb12575c09d07597f77c67c0e97d03481e6f2","unresolved":false,"context_lines":[{"line_number":1101,"context_line":"        (snapshot_update_access is a no-op). Mountable snapshots must"},{"line_number":1102,"context_line":"        therefore inherit access rules from the parent share."},{"line_number":1103,"context_line":"        \"\"\""},{"line_number":1104,"context_line":"        if (mount_snapshot_support_str is None or"},{"line_number":1105,"context_line":"                mount_snapshot_support_str.lower() !\u003d \u0027true\u0027):"},{"line_number":1106,"context_line":"            return"},{"line_number":1107,"context_line":"        if (snapshot_inherit_share_access_support_str is None or"}],"source_content_type":"text/x-python","patch_set":35,"id":"3eaedb21_6509c3a2","line":1104,"in_reply_to":"16d082df_7b832432","updated":"2026-08-24 15:24:47.000000000","message":"Done","commit_id":"ba088adf22cf013005c65674983271d9d897079d"}],"manila/share/drivers/hpe/alletra_mp_b10000/fileshare/helpers.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[{"line_number":96,"context_line":"POLL_RESOURCE_LOOKUP_TIMEOUT \u003d 30"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"def poll_for_resource(get_resource, resource_description):"},{"line_number":100,"context_line":"    \"\"\"Poll a backend lookup until it succeeds or times out."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    Works around backend eventual consistency where a just-created"}],"source_content_type":"text/x-python","patch_set":30,"id":"75241c6d_fc97e39b","line":99,"updated":"2026-08-14 19:41:32.000000000","message":"any chance we could use @utils.retry?","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"POLL_RESOURCE_LOOKUP_TIMEOUT \u003d 30"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"def poll_for_resource(get_resource, resource_description):"},{"line_number":100,"context_line":"    \"\"\"Poll a backend lookup until it succeeds or times out."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    Works around backend eventual consistency where a just-created"}],"source_content_type":"text/x-python","patch_set":30,"id":"3ce4ebf6_092fb6f1","line":99,"in_reply_to":"75241c6d_fc97e39b","updated":"2026-08-18 16:18:59.000000000","message":"Done","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[{"line_number":104,"context_line":"    \"\"\""},{"line_number":105,"context_line":"    def _attempt():"},{"line_number":106,"context_line":"        try:"},{"line_number":107,"context_line":"            raise loopingcall.LoopingCallDone(get_resource())"},{"line_number":108,"context_line":"        except exception.HPEAlletraB10000DriverException:"},{"line_number":109,"context_line":"            LOG.debug(\"Waiting for %(resource)s to become available on \""},{"line_number":110,"context_line":"                      \"the backend.\", {\u0027resource\u0027: resource_description})"}],"source_content_type":"text/x-python","patch_set":30,"id":"eb0af3b8_0fbf5280","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":61},"updated":"2026-08-14 19:41:32.000000000","message":"maybe there\u0027s a chance that if get_resource() returns None or {} (resource doesn\u0027t exist yet but the lookup doesn\u0027t raise), LoopingCallDone will fire with None as the return value, causing a falsy return","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    \"\"\""},{"line_number":105,"context_line":"    def _attempt():"},{"line_number":106,"context_line":"        try:"},{"line_number":107,"context_line":"            raise loopingcall.LoopingCallDone(get_resource())"},{"line_number":108,"context_line":"        except exception.HPEAlletraB10000DriverException:"},{"line_number":109,"context_line":"            LOG.debug(\"Waiting for %(resource)s to become available on \""},{"line_number":110,"context_line":"                      \"the backend.\", {\u0027resource\u0027: resource_description})"}],"source_content_type":"text/x-python","patch_set":30,"id":"ba7cdde6_2b0ac491","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":61},"in_reply_to":"eb0af3b8_0fbf5280","updated":"2026-08-18 16:18:59.000000000","message":"Done. Have added a check for empty return.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"}],"manila/share/drivers/hpe/alletra_mp_b10000/fileshare/snapshot_handler.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"c6178c986bc5f457d1e5dda6192efc100fc0fe77","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                        fe_create_snapshot[\u0027id\u0027],"},{"line_number":82,"context_line":"                        fe_snap_fileshare[\u0027be_uid\u0027])"},{"line_number":83,"context_line":"                except Exception as cleanup_error:"},{"line_number":84,"context_line":"                    LOG.error("},{"line_number":85,"context_line":"                        _(\"Failed to clean up snapshot share \u0027%(snap)s\u0027 \""},{"line_number":86,"context_line":"                          \"after snapshot online failure. Manual cleanup may \""},{"line_number":87,"context_line":"                          \"be required. Error: %(error)s\"),"}],"source_content_type":"text/x-python","patch_set":21,"id":"54e60794_8ade1111","line":84,"updated":"2026-08-07 08:39:12.000000000","message":"pep8: M359 Don\u0027t translate log messages!","commit_id":"60f6ff7be1f032fa24935d32e79362c3104f9a84"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[{"line_number":70,"context_line":"                    fe_snap_filesystem[\u0027be_uid\u0027])"},{"line_number":71,"context_line":"            except Exception as e:"},{"line_number":72,"context_line":"                # We were unable to bring the snapshot online."},{"line_number":73,"context_line":"                # Clean up the snapshot fileshare and filesystem"},{"line_number":74,"context_line":"                msg \u003d _(\"Failed to bring snapshot \u0027%(snap)s\u0027 online. \""},{"line_number":75,"context_line":"                        \"Cleaning up the snapshot share and filesystem. \""},{"line_number":76,"context_line":"                        \"Error: %(error)s\") % {"}],"source_content_type":"text/x-python","patch_set":30,"id":"28280db7_072a2c54","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":64},"updated":"2026-08-14 19:41:32.000000000","message":"iiuc the code below is only attempting to delete the fileshare, not the filesystem - is that expected?","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":true,"context_lines":[{"line_number":70,"context_line":"                    fe_snap_filesystem[\u0027be_uid\u0027])"},{"line_number":71,"context_line":"            except Exception as e:"},{"line_number":72,"context_line":"                # We were unable to bring the snapshot online."},{"line_number":73,"context_line":"                # Clean up the snapshot fileshare and filesystem"},{"line_number":74,"context_line":"                msg \u003d _(\"Failed to bring snapshot \u0027%(snap)s\u0027 online. \""},{"line_number":75,"context_line":"                        \"Cleaning up the snapshot share and filesystem. \""},{"line_number":76,"context_line":"                        \"Error: %(error)s\") % {"}],"source_content_type":"text/x-python","patch_set":30,"id":"59aa0969_287832f0","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":64},"in_reply_to":"28280db7_072a2c54","updated":"2026-08-18 16:18:59.000000000","message":"Yes, it is expected.\n\nWhen we do a delete fileshare operation on the snapfileshare, it will take care of deleting both its backend resources - 1. snapfileshare and 2. snapfilesystem as part of the same API call. It is a complex operation in the backend with couple of steps.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"25d8ccea1bd541f824f491f40b05302ad2040cf6","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                    fe_snap_filesystem[\u0027be_uid\u0027])"},{"line_number":71,"context_line":"            except Exception as e:"},{"line_number":72,"context_line":"                # We were unable to bring the snapshot online."},{"line_number":73,"context_line":"                # Clean up the snapshot fileshare and filesystem"},{"line_number":74,"context_line":"                msg \u003d _(\"Failed to bring snapshot \u0027%(snap)s\u0027 online. \""},{"line_number":75,"context_line":"                        \"Cleaning up the snapshot share and filesystem. \""},{"line_number":76,"context_line":"                        \"Error: %(error)s\") % {"}],"source_content_type":"text/x-python","patch_set":30,"id":"7b9e5231_907bd8af","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":64},"in_reply_to":"59aa0969_287832f0","updated":"2026-08-25 11:11:21.000000000","message":"Acknowledged","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6a9de3f0ab8c16ea7b05e14564c5db4f806045c0","unresolved":true,"context_lines":[{"line_number":184,"context_line":"                     \"must be a multiple of 1024 MiB (1 GiB).\") % {"},{"line_number":185,"context_line":"                \u0027snap_name\u0027: be_snap_filesystem_name,"},{"line_number":186,"context_line":"                \u0027current_size\u0027: be_filesystem_size_mib,"},{"line_number":187,"context_line":"                \u0027increase_by\u0027: increase_by,"},{"line_number":188,"context_line":"                \u0027next_multiple\u0027: next_multiple,"},{"line_number":189,"context_line":"                \u0027next_multiple_gb\u0027: next_multiple // 1024})"},{"line_number":190,"context_line":"            LOG.error(msg)"},{"line_number":191,"context_line":"            raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"575b107c_0559591a","line":189,"range":{"start_line":187,"start_character":16,"end_line":189,"end_character":58},"updated":"2026-08-14 19:41:32.000000000","message":"these are not used in the message","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"5798ae12561aa1f0503e921f586181fef9e1d45e","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                     \"must be a multiple of 1024 MiB (1 GiB).\") % {"},{"line_number":185,"context_line":"                \u0027snap_name\u0027: be_snap_filesystem_name,"},{"line_number":186,"context_line":"                \u0027current_size\u0027: be_filesystem_size_mib,"},{"line_number":187,"context_line":"                \u0027increase_by\u0027: increase_by,"},{"line_number":188,"context_line":"                \u0027next_multiple\u0027: next_multiple,"},{"line_number":189,"context_line":"                \u0027next_multiple_gb\u0027: next_multiple // 1024})"},{"line_number":190,"context_line":"            LOG.error(msg)"},{"line_number":191,"context_line":"            raise exception.HPEAlletraB10000DriverException(reason\u003dmsg)"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"c17ed8af_579f3838","line":189,"range":{"start_line":187,"start_character":16,"end_line":189,"end_character":58},"in_reply_to":"575b107c_0559591a","updated":"2026-08-18 16:18:59.000000000","message":"Done. Have removed them.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":true,"context_lines":[{"line_number":200,"context_line":"            be_snap_share_id, be_snap_share_name, be_snap_filesystem_name,"},{"line_number":201,"context_line":"            be_snap_sharesetting_name)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class SnapshotModelConvert(object):"},{"line_number":205,"context_line":"    def __init__(self, feature_support_handler, **kwargs):"},{"line_number":206,"context_line":"        self.feature_support_handler \u003d feature_support_handler"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"class SnapshotValidator(object):"}],"source_content_type":"text/x-python","patch_set":30,"id":"c059e653_6bbb1d3b","line":206,"range":{"start_line":203,"start_character":0,"end_line":206,"end_character":62},"updated":"2026-08-17 05:31:41.000000000","message":"Is this class used?","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"2f377d266a4d252c1986c8f06bb07705c3d594d8","unresolved":false,"context_lines":[{"line_number":200,"context_line":"            be_snap_share_id, be_snap_share_name, be_snap_filesystem_name,"},{"line_number":201,"context_line":"            be_snap_sharesetting_name)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class SnapshotModelConvert(object):"},{"line_number":205,"context_line":"    def __init__(self, feature_support_handler, **kwargs):"},{"line_number":206,"context_line":"        self.feature_support_handler \u003d feature_support_handler"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"class SnapshotValidator(object):"}],"source_content_type":"text/x-python","patch_set":30,"id":"fff59a6f_a34051ff","line":206,"range":{"start_line":203,"start_character":0,"end_line":206,"end_character":62},"in_reply_to":"c059e653_6bbb1d3b","updated":"2026-08-18 16:24:37.000000000","message":"No not used, I have removed it.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"}],"manila/share/drivers/hpe/alletra_mp_b10000/hpe_alletra_driver.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"04efef277fc9c4bebaa3752a1b7986d29d6e6e0f","unresolved":true,"context_lines":[{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        return snapshot[\u0027share\u0027][\u0027size\u0027]"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def snapshot_update_access(self, context, snapshot, access_rules,"},{"line_number":480,"context_line":"                               add_rules\u003dNone, delete_rules\u003dNone,"},{"line_number":481,"context_line":"                               share_server\u003dNone):"},{"line_number":482,"context_line":"        \"\"\"Update access rules for a mountable snapshot.\"\"\""},{"line_number":483,"context_line":"        pass"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    def manage_existing_snapshot(self, snapshot, driver_options):"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"637347a9_978983f1","line":483,"range":{"start_line":479,"start_character":3,"end_line":483,"end_character":12},"updated":"2026-08-17 05:31:41.000000000","message":"Better to add a brief docstring on the driver method explaining that Alletra snapshots always inherit parent share ACLs and independent snapshot access rules are unsupported.","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"19191cc3314f424c6e83f6581ac57d4096d5fa10","unresolved":false,"context_lines":[{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        return snapshot[\u0027share\u0027][\u0027size\u0027]"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def snapshot_update_access(self, context, snapshot, access_rules,"},{"line_number":480,"context_line":"                               add_rules\u003dNone, delete_rules\u003dNone,"},{"line_number":481,"context_line":"                               share_server\u003dNone):"},{"line_number":482,"context_line":"        \"\"\"Update access rules for a mountable snapshot.\"\"\""},{"line_number":483,"context_line":"        pass"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    def manage_existing_snapshot(self, snapshot, driver_options):"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"e2662d7f_2754a1f3","line":483,"range":{"start_line":479,"start_character":3,"end_line":483,"end_character":12},"in_reply_to":"637347a9_978983f1","updated":"2026-08-19 16:51:27.000000000","message":"Done","commit_id":"c444a7c9b78aade225d9a9acd5a73ae910b6ae44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0834c70e83e475f742edd92eb5facea25a7c16e0","unresolved":true,"context_lines":[{"line_number":245,"context_line":"                share[\u0027id\u0027], be_share_id"},{"line_number":246,"context_line":"            )"},{"line_number":247,"context_line":"        except exception.HPEAlletraB10000DriverException as e:"},{"line_number":248,"context_line":"            if \u0027snapshots fileshare exist\u0027 in str(e):"},{"line_number":249,"context_line":"                msg \u003d (_(\u0027Cannot delete share %(share_id)s. \u0027"},{"line_number":250,"context_line":"                         \u0027Backend filesystem has one or more snapshots. \u0027"},{"line_number":251,"context_line":"                         \u0027Please manage all snapshots of this share \u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"fae5d93c_ab28d960","line":248,"updated":"2026-08-24 05:33:39.000000000","message":"is there no error code here? error string parsing could be brittle","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ab01746fdd14da36ad1813e36a6cf1fef9107123","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                share[\u0027id\u0027], be_share_id"},{"line_number":246,"context_line":"            )"},{"line_number":247,"context_line":"        except exception.HPEAlletraB10000DriverException as e:"},{"line_number":248,"context_line":"            if \u0027snapshots fileshare exist\u0027 in str(e):"},{"line_number":249,"context_line":"                msg \u003d (_(\u0027Cannot delete share %(share_id)s. \u0027"},{"line_number":250,"context_line":"                         \u0027Backend filesystem has one or more snapshots. \u0027"},{"line_number":251,"context_line":"                         \u0027Please manage all snapshots of this share \u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"d3d8edfa_17eb5920","line":248,"in_reply_to":"c4357f3d_a7535083","updated":"2026-08-28 07:33:17.000000000","message":"Acknowledged","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"80afb12575c09d07597f77c67c0e97d03481e6f2","unresolved":true,"context_lines":[{"line_number":245,"context_line":"                share[\u0027id\u0027], be_share_id"},{"line_number":246,"context_line":"            )"},{"line_number":247,"context_line":"        except exception.HPEAlletraB10000DriverException as e:"},{"line_number":248,"context_line":"            if \u0027snapshots fileshare exist\u0027 in str(e):"},{"line_number":249,"context_line":"                msg \u003d (_(\u0027Cannot delete share %(share_id)s. \u0027"},{"line_number":250,"context_line":"                         \u0027Backend filesystem has one or more snapshots. \u0027"},{"line_number":251,"context_line":"                         \u0027Please manage all snapshots of this share \u0027"}],"source_content_type":"text/x-python","patch_set":35,"id":"c4357f3d_a7535083","line":248,"in_reply_to":"fae5d93c_ab28d960","updated":"2026-08-24 15:24:47.000000000","message":"Currently our backend API returns same error code for multiple error scenarios. I will see if in future device releases we can have device return different error codes.\n\nI added this message to give additional context. \nIn case string matching fails, impact would mainly be that it would return the backend returned message instead of this message which is similar just lesser info.","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0834c70e83e475f742edd92eb5facea25a7c16e0","unresolved":true,"context_lines":[{"line_number":474,"context_line":"            snapshot, be_filesystem_name, be_snap_filesystem_name"},{"line_number":475,"context_line":"        )"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        return snapshot[\u0027share\u0027][\u0027size\u0027]"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def snapshot_update_access(self, context, snapshot, access_rules,"},{"line_number":480,"context_line":"                               add_rules\u003dNone, delete_rules\u003dNone,"}],"source_content_type":"text/x-python","patch_set":35,"id":"bc60226b_6f600714","line":477,"updated":"2026-08-24 05:33:39.000000000","message":"returns `snapshot[\u0027share\u0027][\u0027size\u0027]`, which is the parent share\u0027s *current* size, but the manila contract expects the *post-revert* size (i.e. `snapshot[\u0027size\u0027]`, or `None` which the manager defaults to `snapshot[\u0027size\u0027]`)... in an extend-then-revert (or shrink-then-revert) scenario this both writes the wrong size to the DB and mishandles the quota reservation.","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":38607,"name":"Srinesh A R","display_name":"Srinesh A R","email":"srinesh.a-r@hpe.com","username":"srineshar"},"change_message_id":"80afb12575c09d07597f77c67c0e97d03481e6f2","unresolved":true,"context_lines":[{"line_number":474,"context_line":"            snapshot, be_filesystem_name, be_snap_filesystem_name"},{"line_number":475,"context_line":"        )"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        return snapshot[\u0027share\u0027][\u0027size\u0027]"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def snapshot_update_access(self, context, snapshot, access_rules,"},{"line_number":480,"context_line":"                               add_rules\u003dNone, delete_rules\u003dNone,"}],"source_content_type":"text/x-python","patch_set":35,"id":"d8f0915a_e131874e","line":477,"in_reply_to":"bc60226b_6f600714","updated":"2026-08-24 15:24:47.000000000","message":"In our backend, the share size after restore remains the same (since we only support extend share, the share size is always larger or equal to snapshot size).\n\nI have made a change now to re-query the size after restore and return the latest value to handle any future changes in the behavior but currently it will behave same as returning parent share size.\n\nI saw netapp had a similar behavior for their driver where share size can remain same after restore, hope it is okay if we can also align similarly. (https://review.opendev.org/c/openstack/manila/+/920382)","commit_id":"ba088adf22cf013005c65674983271d9d897079d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ab01746fdd14da36ad1813e36a6cf1fef9107123","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            snapshot, be_filesystem_name, be_snap_filesystem_name"},{"line_number":475,"context_line":"        )"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        return snapshot[\u0027share\u0027][\u0027size\u0027]"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"    def snapshot_update_access(self, context, snapshot, access_rules,"},{"line_number":480,"context_line":"                               add_rules\u003dNone, delete_rules\u003dNone,"}],"source_content_type":"text/x-python","patch_set":35,"id":"2446a7fc_bd16735b","line":477,"in_reply_to":"d8f0915a_e131874e","updated":"2026-08-28 07:33:17.000000000","message":"Acknowledged","commit_id":"ba088adf22cf013005c65674983271d9d897079d"}]}
