)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38623,"name":"Sanketh Shetty","display_name":"Sanketh Shetty","email":"sanketh.shetty@netapp.com","username":"sanketh-netapp","status":"NetApp"},"change_message_id":"073db5fa1627a5b65f48830fa1e8606bd93c5c0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fba9bf9f_7f24f05e","updated":"2026-11-10 05:01:05.000000000","message":"Looks good.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":39225,"name":"Prudhvi","display_name":"Prudhvi","email":"prudhvi.openstack@gmail.com","username":"Prudhvi"},"change_message_id":"1b8ac0d0f7353c2f2c9421ae20eafb5df69097f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"12505cbd_46c339fd","updated":"2026-10-30 12:16:18.000000000","message":"Run-NetApp CI","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"e055d4978591aebbf9997d8ea92e037da6aea16e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"761761f9_e1cbc228","updated":"2026-10-30 06:49:45.000000000","message":"Run-NetApp CI","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"4b1309d388cc1fc7b51c92ce207d7f3a9421aa16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8bad939f_7f85007b","updated":"2026-11-02 05:40:32.000000000","message":"Run-NetApp CI","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"}],"cinder/volume/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":38623,"name":"Sanketh Shetty","display_name":"Sanketh Shetty","email":"sanketh.shetty@netapp.com","username":"sanketh-netapp","status":"NetApp"},"change_message_id":"d44c053bb0842f626ce91ef4c7aca283efd2904a","unresolved":true,"context_lines":[{"line_number":837,"context_line":"    def cancel_lun_copy(self, job_uuid, dest_vserver\u003dNone):"},{"line_number":838,"context_line":"        \"\"\"Cancel an in-progress lun copy."},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        dest_vserver is accepted for API compatibility with the REST client"},{"line_number":841,"context_line":"        and is unused because ZAPI tracks the copy by cluster-scoped job UUID."},{"line_number":842,"context_line":"        \"\"\""},{"line_number":843,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"157bb431_8352db2d","line":840,"updated":"2026-11-02 14:09:12.000000000","message":"We can remove this comment. In multiple functions similar input params are added for compatibility.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"43af2ae4a98c10fec9c4aed1f9670a22aafe7d4a","unresolved":false,"context_lines":[{"line_number":837,"context_line":"    def cancel_lun_copy(self, job_uuid, dest_vserver\u003dNone):"},{"line_number":838,"context_line":"        \"\"\"Cancel an in-progress lun copy."},{"line_number":839,"context_line":""},{"line_number":840,"context_line":"        dest_vserver is accepted for API compatibility with the REST client"},{"line_number":841,"context_line":"        and is unused because ZAPI tracks the copy by cluster-scoped job UUID."},{"line_number":842,"context_line":"        \"\"\""},{"line_number":843,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"2310faab_c0aed0b2","line":840,"in_reply_to":"157bb431_8352db2d","updated":"2026-11-09 05:23:22.000000000","message":"I think this comment is important for managing the code in future. The reason why we add dest_vserver here but not use it in ZAPI is because we implement the interface that should work for both ZAPI and REST.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38623,"name":"Sanketh Shetty","display_name":"Sanketh Shetty","email":"sanketh.shetty@netapp.com","username":"sanketh-netapp","status":"NetApp"},"change_message_id":"d44c053bb0842f626ce91ef4c7aca283efd2904a","unresolved":true,"context_lines":[{"line_number":853,"context_line":"    def get_lun_copy_status(self, job_uuid, dest_vserver\u003dNone):"},{"line_number":854,"context_line":"        \"\"\"Get lun copy job status from a given job\u0027s UUID."},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        dest_vserver is accepted for API compatibility with the REST client"},{"line_number":857,"context_line":"        and is unused because ZAPI tracks the copy by cluster-scoped job UUID."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"d57df54f_bbcd2bb0","line":856,"updated":"2026-11-02 14:09:12.000000000","message":"We can remove this comment I feel.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"43af2ae4a98c10fec9c4aed1f9670a22aafe7d4a","unresolved":false,"context_lines":[{"line_number":853,"context_line":"    def get_lun_copy_status(self, job_uuid, dest_vserver\u003dNone):"},{"line_number":854,"context_line":"        \"\"\"Get lun copy job status from a given job\u0027s UUID."},{"line_number":855,"context_line":""},{"line_number":856,"context_line":"        dest_vserver is accepted for API compatibility with the REST client"},{"line_number":857,"context_line":"        and is unused because ZAPI tracks the copy by cluster-scoped job UUID."},{"line_number":858,"context_line":"        \"\"\""},{"line_number":859,"context_line":"        api_args \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"0561348a_087449b0","line":856,"in_reply_to":"d57df54f_bbcd2bb0","updated":"2026-11-09 05:23:22.000000000","message":"Same comment as above.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"}],"cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":38623,"name":"Sanketh Shetty","display_name":"Sanketh Shetty","email":"sanketh.shetty@netapp.com","username":"sanketh-netapp","status":"NetApp"},"change_message_id":"d44c053bb0842f626ce91ef4c7aca283efd2904a","unresolved":true,"context_lines":[{"line_number":3328,"context_line":"    def get_lun_copy_status(self, dest_path, dest_vserver\u003dNone):"},{"line_number":3329,"context_line":"        \"\"\"Get lun copy job status from a given dest_path.\"\"\""},{"line_number":3330,"context_line":"        if dest_vserver is None:"},{"line_number":3331,"context_line":"            dest_vserver \u003d self.vserver"},{"line_number":3332,"context_line":""},{"line_number":3333,"context_line":"        query \u003d {"},{"line_number":3334,"context_line":"            \u0027name\u0027: dest_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab7cadb_ba0f9c4d","line":3331,"updated":"2026-11-02 14:09:12.000000000","message":"Wont self.vserver contain source vserver information ? Why dont we mandate providing the dest_vserver ?","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"43af2ae4a98c10fec9c4aed1f9670a22aafe7d4a","unresolved":false,"context_lines":[{"line_number":3328,"context_line":"    def get_lun_copy_status(self, dest_path, dest_vserver\u003dNone):"},{"line_number":3329,"context_line":"        \"\"\"Get lun copy job status from a given dest_path.\"\"\""},{"line_number":3330,"context_line":"        if dest_vserver is None:"},{"line_number":3331,"context_line":"            dest_vserver \u003d self.vserver"},{"line_number":3332,"context_line":""},{"line_number":3333,"context_line":"        query \u003d {"},{"line_number":3334,"context_line":"            \u0027name\u0027: dest_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"644b08fa_29257b2a","line":3331,"in_reply_to":"bab7cadb_ba0f9c4d","updated":"2026-11-09 05:23:22.000000000","message":"We do not want to mandate the dest_vserver because it is not used in ZAPI. So it has to be optional and used only for REST.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38623,"name":"Sanketh Shetty","display_name":"Sanketh Shetty","email":"sanketh.shetty@netapp.com","username":"sanketh-netapp","status":"NetApp"},"change_message_id":"d44c053bb0842f626ce91ef4c7aca283efd2904a","unresolved":true,"context_lines":[{"line_number":3354,"context_line":"    def cancel_lun_copy(self, dest_path, dest_vserver\u003dNone):"},{"line_number":3355,"context_line":"        \"\"\"Cancel an in-progress lun copy by deleting the lun.\"\"\""},{"line_number":3356,"context_line":"        if dest_vserver is None:"},{"line_number":3357,"context_line":"            dest_vserver \u003d self.vserver"},{"line_number":3358,"context_line":""},{"line_number":3359,"context_line":"        query \u003d {"},{"line_number":3360,"context_line":"            \u0027name\u0027: dest_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c529bb7_43d4cb5e","line":3357,"updated":"2026-11-02 14:09:12.000000000","message":"Same question. Why dont we mandate dest_vserver ?","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"43af2ae4a98c10fec9c4aed1f9670a22aafe7d4a","unresolved":false,"context_lines":[{"line_number":3354,"context_line":"    def cancel_lun_copy(self, dest_path, dest_vserver\u003dNone):"},{"line_number":3355,"context_line":"        \"\"\"Cancel an in-progress lun copy by deleting the lun.\"\"\""},{"line_number":3356,"context_line":"        if dest_vserver is None:"},{"line_number":3357,"context_line":"            dest_vserver \u003d self.vserver"},{"line_number":3358,"context_line":""},{"line_number":3359,"context_line":"        query \u003d {"},{"line_number":3360,"context_line":"            \u0027name\u0027: dest_path,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2310b7d2_92da97f0","line":3357,"in_reply_to":"3c529bb7_43d4cb5e","updated":"2026-11-09 05:23:22.000000000","message":"Same comment as previous one.","commit_id":"642b6b3602c5b0dde8976d49a4c008d448c0e379"}]}
