)]}'
{"cinder/tests/unit/volume/drivers/dell_emc/powerstore/test_volume_attach_detach.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        mock_delete_host.assert_called_once()"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"    def test_create_and_delete_host_use_same_lock_key(self):"},{"line_number":659,"context_line":"        \"\"\"Verify _create_host_if_not_exist and _delete_host_if_empty"},{"line_number":660,"context_line":"        acquire the same coordination lock for the same host.\"\"\""},{"line_number":661,"context_line":"        connector \u003d {\"host\": \"compute-1\"}"},{"line_number":662,"context_line":"        adapter \u003d self.iscsi_driver.adapter"}],"source_content_type":"text/x-python","patch_set":3,"id":"965140cb_80f4dd02","line":659,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        mock_delete_host.assert_called_once()"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"    def test_create_and_delete_host_use_same_lock_key(self):"},{"line_number":659,"context_line":"        \"\"\"Verify _create_host_if_not_exist and _delete_host_if_empty"},{"line_number":660,"context_line":"        acquire the same coordination lock for the same host.\"\"\""},{"line_number":661,"context_line":"        connector \u003d {\"host\": \"compute-1\"}"},{"line_number":662,"context_line":"        adapter \u003d self.iscsi_driver.adapter"}],"source_content_type":"text/x-python","patch_set":3,"id":"afe2141a_5e346dc5","line":659,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":657,"context_line":""},{"line_number":658,"context_line":"    def test_create_and_delete_host_use_same_lock_key(self):"},{"line_number":659,"context_line":"        \"\"\"Verify _create_host_if_not_exist and _delete_host_if_empty"},{"line_number":660,"context_line":"        acquire the same coordination lock for the same host.\"\"\""},{"line_number":661,"context_line":"        connector \u003d {\"host\": \"compute-1\"}"},{"line_number":662,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":663,"context_line":"        expected_host_name \u003d utils.powerstore_host_name("}],"source_content_type":"text/x-python","patch_set":3,"id":"67586c18_743104e8","line":660,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":657,"context_line":""},{"line_number":658,"context_line":"    def test_create_and_delete_host_use_same_lock_key(self):"},{"line_number":659,"context_line":"        \"\"\"Verify _create_host_if_not_exist and _delete_host_if_empty"},{"line_number":660,"context_line":"        acquire the same coordination lock for the same host.\"\"\""},{"line_number":661,"context_line":"        connector \u003d {\"host\": \"compute-1\"}"},{"line_number":662,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":663,"context_line":"        expected_host_name \u003d utils.powerstore_host_name("}],"source_content_type":"text/x-python","patch_set":3,"id":"2b9e251e_84f056e5","line":660,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":664,"context_line":"            connector, adapter.storage_protocol"},{"line_number":665,"context_line":"        )"},{"line_number":666,"context_line":"        expected_lock \u003d \"powerstore-host-%s\" % expected_host_name"},{"line_number":667,"context_line":"        acquired_locks \u003d []"},{"line_number":668,"context_line":"        original_synchronized \u003d ("},{"line_number":669,"context_line":"            self.iscsi_driver.adapter._create_host_if_not_exist_locked"},{"line_number":670,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"f03262c4_824dbd0a","line":667,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: F841 local variable \u0027acquired_locks\u0027 is assigned to but never used","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":665,"context_line":"        )"},{"line_number":666,"context_line":"        expected_lock \u003d \"powerstore-host-%s\" % expected_host_name"},{"line_number":667,"context_line":"        acquired_locks \u003d []"},{"line_number":668,"context_line":"        original_synchronized \u003d ("},{"line_number":669,"context_line":"            self.iscsi_driver.adapter._create_host_if_not_exist_locked"},{"line_number":670,"context_line":"        )"},{"line_number":671,"context_line":"        original_delete \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"124f7b1a_2ec03798","line":668,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: F841 local variable \u0027original_synchronized\u0027 is assigned to but never used","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":668,"context_line":"        original_synchronized \u003d ("},{"line_number":669,"context_line":"            self.iscsi_driver.adapter._create_host_if_not_exist_locked"},{"line_number":670,"context_line":"        )"},{"line_number":671,"context_line":"        original_delete \u003d ("},{"line_number":672,"context_line":"            self.iscsi_driver.adapter._delete_host_if_empty"},{"line_number":673,"context_line":"        )"},{"line_number":674,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5052a855_aea26ee5","line":671,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: F841 local variable \u0027original_delete\u0027 is assigned to but never used","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        with mock.patch(\"cinder.coordination.synchronized\") as mock_sync:"},{"line_number":676,"context_line":"            mock_sync.return_value \u003d lambda f: f"},{"line_number":677,"context_line":"            import importlib"},{"line_number":678,"context_line":"            from cinder.volume.drivers.dell_emc.powerstore import adapter"},{"line_number":679,"context_line":"            importlib.reload(adapter)"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"        create_lock_name \u003d \"powerstore-host-{host_name}\""}],"source_content_type":"text/x-python","patch_set":3,"id":"cf9e3251_2ee553ac","line":678,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H306: imports not in alphabetical order (importlib, cinder.volume.drivers.dell_emc.powerstore.adapter)","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        self.assertEqual(create_rendered, expected_lock)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def test_concurrent_attach_detach_same_host_serialized(self):"},{"line_number":693,"context_line":"        \"\"\"Verify concurrent attach and detach on the same host"},{"line_number":694,"context_line":"        are serialized through the same coordination lock.\"\"\""},{"line_number":695,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":696,"context_line":"        host_name \u003d \"compute-1-iSCSI\""}],"source_content_type":"text/x-python","patch_set":3,"id":"d7b0c82a_6dd2593d","line":693,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        self.assertEqual(create_rendered, expected_lock)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def test_concurrent_attach_detach_same_host_serialized(self):"},{"line_number":693,"context_line":"        \"\"\"Verify concurrent attach and detach on the same host"},{"line_number":694,"context_line":"        are serialized through the same coordination lock.\"\"\""},{"line_number":695,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":696,"context_line":"        host_name \u003d \"compute-1-iSCSI\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bbe69592_0f5173f6","line":693,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def test_concurrent_attach_detach_same_host_serialized(self):"},{"line_number":693,"context_line":"        \"\"\"Verify concurrent attach and detach on the same host"},{"line_number":694,"context_line":"        are serialized through the same coordination lock.\"\"\""},{"line_number":695,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":696,"context_line":"        host_name \u003d \"compute-1-iSCSI\""},{"line_number":697,"context_line":"        execution_order \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"0dfc3b2a_a0f80706","line":694,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H403: multi line docstrings should end on a new line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def test_concurrent_attach_detach_same_host_serialized(self):"},{"line_number":693,"context_line":"        \"\"\"Verify concurrent attach and detach on the same host"},{"line_number":694,"context_line":"        are serialized through the same coordination lock.\"\"\""},{"line_number":695,"context_line":"        adapter \u003d self.iscsi_driver.adapter"},{"line_number":696,"context_line":"        host_name \u003d \"compute-1-iSCSI\""},{"line_number":697,"context_line":"        execution_order \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"19179c2d_f255c95e","line":694,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":697,"context_line":"        execution_order \u003d []"},{"line_number":698,"context_line":"        lock \u003d threading.Lock()"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"        original_create \u003d adapter._create_host_if_not_exist_locked"},{"line_number":701,"context_line":"        original_delete \u003d adapter._delete_host_if_empty"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"        def mock_create(connector, host_name_arg):"}],"source_content_type":"text/x-python","patch_set":3,"id":"a879b2d7_932282f4","line":700,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: F841 local variable \u0027original_create\u0027 is assigned to but never used","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6794e3ca2edc98c09b4c7de068c79c12406eba1e","unresolved":false,"context_lines":[{"line_number":698,"context_line":"        lock \u003d threading.Lock()"},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"        original_create \u003d adapter._create_host_if_not_exist_locked"},{"line_number":701,"context_line":"        original_delete \u003d adapter._delete_host_if_empty"},{"line_number":702,"context_line":""},{"line_number":703,"context_line":"        def mock_create(connector, host_name_arg):"},{"line_number":704,"context_line":"            with lock:"}],"source_content_type":"text/x-python","patch_set":3,"id":"4ba5c7dd_cd6b5a55","line":701,"updated":"2026-06-14 22:34:23.000000000","message":"pep8: F841 local variable \u0027original_delete\u0027 is assigned to but never used","commit_id":"45732afa590634c33308f29878aac7c7fb785df4"}],"cinder/volume/drivers/dell_emc/powerstore/adapter.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68b0b6b063c0a7d0257c19af63b4b6c54a2020a9","unresolved":true,"context_lines":[{"line_number":522,"context_line":"                      })"},{"line_number":523,"context_line":"        return host, chap_credentials"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    @coordination.synchronized(\"powerstore-create-host\")"},{"line_number":526,"context_line":"    def _delete_host_if_empty(self, host_id, host_name):"},{"line_number":527,"context_line":"        \"\"\"Delete PowerStore host if it has no volume mappings."},{"line_number":528,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3ccd1d36_141b95f3","line":525,"updated":"2026-06-14 14:35:57.000000000","message":"Coordination lock is too broad. Can you narrow down to host. Delete is based on host.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"1fc507c3ac77eaa86b21e5a6f7fff49e73746a72","unresolved":true,"context_lines":[{"line_number":522,"context_line":"                      })"},{"line_number":523,"context_line":"        return host, chap_credentials"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    @coordination.synchronized(\"powerstore-create-host\")"},{"line_number":526,"context_line":"    def _delete_host_if_empty(self, host_id, host_name):"},{"line_number":527,"context_line":"        \"\"\"Delete PowerStore host if it has no volume mappings."},{"line_number":528,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"68bb8a2b_02a319c0","line":525,"in_reply_to":"38331c6f_2de29779","updated":"2026-06-14 20:00:24.000000000","message":"Addressed in PS 2.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"3b798a5c941841c3162565f0bae690ccf6913494","unresolved":true,"context_lines":[{"line_number":522,"context_line":"                      })"},{"line_number":523,"context_line":"        return host, chap_credentials"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"    @coordination.synchronized(\"powerstore-create-host\")"},{"line_number":526,"context_line":"    def _delete_host_if_empty(self, host_id, host_name):"},{"line_number":527,"context_line":"        \"\"\"Delete PowerStore host if it has no volume mappings."},{"line_number":528,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"38331c6f_2de29779","line":525,"in_reply_to":"3ccd1d36_141b95f3","updated":"2026-06-14 19:51:22.000000000","message":"Thanks for your review. Here, the lock \"powerstore-create-host\" was added to match the lock annotated in _create_host_if_not_exist method (pre-existing method) at #478.\nI will upload a new patch and will fix the coordination lock at the pre-existing method also to enforce serialization.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68b0b6b063c0a7d0257c19af63b4b6c54a2020a9","unresolved":true,"context_lines":[{"line_number":534,"context_line":"        :return: None"},{"line_number":535,"context_line":"        \"\"\""},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        mappings \u003d self.client.get_host_volume_mappings(host_id)"},{"line_number":538,"context_line":"        if not mappings:"},{"line_number":539,"context_line":"            LOG.debug(\"Delete PowerStore host %(host_name)s with id \""},{"line_number":540,"context_line":"                      \"%(host_id)s. No remaining volume mappings.\","}],"source_content_type":"text/x-python","patch_set":1,"id":"d3b13d02_d2297f76","line":537,"updated":"2026-06-14 14:35:57.000000000","message":"Are all matched hosts guaranteed to be Cinder-created and safe to delete?","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"1fc507c3ac77eaa86b21e5a6f7fff49e73746a72","unresolved":true,"context_lines":[{"line_number":534,"context_line":"        :return: None"},{"line_number":535,"context_line":"        \"\"\""},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"        mappings \u003d self.client.get_host_volume_mappings(host_id)"},{"line_number":538,"context_line":"        if not mappings:"},{"line_number":539,"context_line":"            LOG.debug(\"Delete PowerStore host %(host_name)s with id \""},{"line_number":540,"context_line":"                      \"%(host_id)s. No remaining volume mappings.\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba4dec2c_309da7c1","line":537,"in_reply_to":"d3b13d02_d2297f76","updated":"2026-06-14 20:00:24.000000000","message":"Addressed in PS 2.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68b0b6b063c0a7d0257c19af63b4b6c54a2020a9","unresolved":true,"context_lines":[{"line_number":815,"context_line":"            hosts_to_detach \u003d self.client.get_volume_mapped_hosts(provider_id)"},{"line_number":816,"context_line":"            self._detach_volume_from_hosts(volume, hosts_to_detach)"},{"line_number":817,"context_line":"            for host_id in hosts_to_detach:"},{"line_number":818,"context_line":"                self._delete_host_if_empty(host_id, host_id)"},{"line_number":819,"context_line":"        else:"},{"line_number":820,"context_line":"            is_multiattached \u003d utils.is_multiattached_to_host("},{"line_number":821,"context_line":"                volume.volume_attachment,"}],"source_content_type":"text/x-python","patch_set":1,"id":"19caac42_737e8592","line":818,"updated":"2026-06-14 14:35:57.000000000","message":"any exception hear can result in PowerStore cleanup not at Cinder.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"1fc507c3ac77eaa86b21e5a6f7fff49e73746a72","unresolved":true,"context_lines":[{"line_number":815,"context_line":"            hosts_to_detach \u003d self.client.get_volume_mapped_hosts(provider_id)"},{"line_number":816,"context_line":"            self._detach_volume_from_hosts(volume, hosts_to_detach)"},{"line_number":817,"context_line":"            for host_id in hosts_to_detach:"},{"line_number":818,"context_line":"                self._delete_host_if_empty(host_id, host_id)"},{"line_number":819,"context_line":"        else:"},{"line_number":820,"context_line":"            is_multiattached \u003d utils.is_multiattached_to_host("},{"line_number":821,"context_line":"                volume.volume_attachment,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4d276b6f_63301867","line":818,"in_reply_to":"19caac42_737e8592","updated":"2026-06-14 20:00:24.000000000","message":"Addressed in PS 2.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68b0b6b063c0a7d0257c19af63b4b6c54a2020a9","unresolved":true,"context_lines":[{"line_number":829,"context_line":"            host \u003d self._filter_hosts_by_initiators(initiators)"},{"line_number":830,"context_line":"            if host:"},{"line_number":831,"context_line":"                self._detach_volume_from_hosts(volume, [host[\"id\"]])"},{"line_number":832,"context_line":"                self._delete_host_if_empty(host[\"id\"], host[\"name\"])"},{"line_number":833,"context_line":""},{"line_number":834,"context_line":"    def revert_to_snapshot(self, volume, snapshot):"},{"line_number":835,"context_line":"        # metro volume can be reverted only when"}],"source_content_type":"text/x-python","patch_set":1,"id":"e755e5f7_3ff3b79b","line":832,"updated":"2026-06-14 14:35:57.000000000","message":"any exception hear can result in PowerStore cleanup not at Cinder.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"1fc507c3ac77eaa86b21e5a6f7fff49e73746a72","unresolved":true,"context_lines":[{"line_number":829,"context_line":"            host \u003d self._filter_hosts_by_initiators(initiators)"},{"line_number":830,"context_line":"            if host:"},{"line_number":831,"context_line":"                self._detach_volume_from_hosts(volume, [host[\"id\"]])"},{"line_number":832,"context_line":"                self._delete_host_if_empty(host[\"id\"], host[\"name\"])"},{"line_number":833,"context_line":""},{"line_number":834,"context_line":"    def revert_to_snapshot(self, volume, snapshot):"},{"line_number":835,"context_line":"        # metro volume can be reverted only when"}],"source_content_type":"text/x-python","patch_set":1,"id":"fd8f30b5_e15c3e19","line":832,"in_reply_to":"e755e5f7_3ff3b79b","updated":"2026-06-14 20:00:24.000000000","message":"Addressed in PS 2.","commit_id":"05031d57af80771519b790289be87cdc29fb6746"}]}
