)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f0bd617155b3a5642bd4f755d1c52bec37c1addc","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-08-25 23:19:33 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[IBM SVf Driver] Added support for volumegroup-snapshot for"},{"line_number":8,"context_line":"temporary volumegroup"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"[Storage Virtualize family] As part of Flashcopy 2.0 implementation,"},{"line_number":11,"context_line":"added support for creating and deleting volumegroup-snapshot for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":59,"id":"1ce269c3_97577ffc","line":8,"updated":"2025-09-02 22:51:56.000000000","message":"Try to fit the commit message subject into 50 chars on a single line (so that the first line makes sense for git log --oneline)","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"635e5e3cf90ee5c399c3e256b747d7da03400ce4","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-08-25 23:19:33 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[IBM SVf Driver] Added support for volumegroup-snapshot for"},{"line_number":8,"context_line":"temporary volumegroup"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"[Storage Virtualize family] As part of Flashcopy 2.0 implementation,"},{"line_number":11,"context_line":"added support for creating and deleting volumegroup-snapshot for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":59,"id":"6a393590_7910c74e","line":8,"in_reply_to":"1ce269c3_97577ffc","updated":"2025-09-04 07:10:30.000000000","message":"resolved","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5daed7e2_65544d91","updated":"2024-10-10 07:11:01.000000000","message":"Please find the comments inline.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"cb246716e6ea7cd996c421e6e485c49dd2779ad2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4acaa9d5_559e3304","in_reply_to":"5daed7e2_65544d91","updated":"2024-10-22 12:19:28.000000000","message":"Done.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"867abed3_6eab47d1","updated":"2024-10-24 07:25:16.000000000","message":"PFC inline","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"0cf5360c4ecb039ab30316f823e384bc6bf22e2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f1a8dbf2_9c322ac4","updated":"2024-12-26 08:52:18.000000000","message":"recheck","commit_id":"2d85679ad0eed4f07c817ee2802808de8d435b25"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"e5129f864f42f06cc1efdd5ce4d7fea60d379099","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"a1d933ca_7fa7fd62","updated":"2025-06-03 06:28:20.000000000","message":"recheck","commit_id":"e4a1889a7113887af4b65bc450ce8fdbbefd38eb"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"3755528da83019956b0b94f86fa65914d0b5054c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"9436c126_51354df7","updated":"2025-06-04 17:18:43.000000000","message":"recheck","commit_id":"6f4fd9242ec1ed056750038e9a78eb5bf25776ed"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"1e6dd6411fcf583afd6eaa7c5a5fe479d11a0909","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"dbb8341b_4d0e10aa","updated":"2025-06-05 05:41:58.000000000","message":"recheck","commit_id":"6f4fd9242ec1ed056750038e9a78eb5bf25776ed"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"b78ba0eea712afa4f21d352d9df8199944967635","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"3bd58adf_607fa97e","updated":"2025-06-06 17:47:35.000000000","message":"recheck","commit_id":"86c64f6ede89f3a38399c5232501bdda4b78aae4"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"51de2f1560dc6103f669529a640e6fcd405e6951","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"5a47ac4b_cc6cbe10","updated":"2025-06-24 16:06:58.000000000","message":"recheck","commit_id":"ad2d0913b9d469862a34cc80c3eb6b771325d063"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"a41c1fed0e42530096b33eb8088d78cb95c117de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":48,"id":"8f7080a6_cb15e6c5","updated":"2025-07-09 08:58:34.000000000","message":"recheck","commit_id":"0257ab07e18893b38b07a9fe57c418ed9e16abbb"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"9863ef722ec7d701eccff46b0b7c426a5b4d9c95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"2d6c37c3_50b30ce9","updated":"2025-08-05 06:37:49.000000000","message":"LGTM","commit_id":"c692051334fad0345e0c42b02d17730ed1e8489e"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"199063f095eaebdc06866f7e37c9e86c4fb54ab1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"aac29104_ef68eb1c","updated":"2025-07-28 09:43:11.000000000","message":"run-IBM-CI","commit_id":"c692051334fad0345e0c42b02d17730ed1e8489e"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"f62d148bc0f722a49d911793109289fdaf9a91a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":54,"id":"e2e3e591_69af664c","updated":"2025-07-28 13:40:18.000000000","message":"run-IBM-CI","commit_id":"c692051334fad0345e0c42b02d17730ed1e8489e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f0bd617155b3a5642bd4f755d1c52bec37c1addc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":59,"id":"4e310c43_65aafe34","updated":"2025-09-02 22:51:56.000000000","message":"Still looking, but there are a few things to note inline.","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"775db9d6a7d6bd8f0fb344bf4cc594863b1e76f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":59,"id":"fbfd9335_b453d999","updated":"2025-08-26 08:59:21.000000000","message":"recheck cinder-plugin-ceph-tempest","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"05303f5bf8c29b2c72079ffc552c77fe08a65a59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":63,"id":"4e6178ae_ecd6ab0e","updated":"2025-09-05 13:18:43.000000000","message":"LGTM","commit_id":"b2bd0a7864d1baae347743049af3f47028f921ee"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"417212f7720b1c2d0eb87c85567d8438d12da18c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":63,"id":"03a17562_504191b1","updated":"2025-09-05 10:24:30.000000000","message":"recheck","commit_id":"b2bd0a7864d1baae347743049af3f47028f921ee"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"03df7cd06c5fcbe2de77fd9a2d8932a94d1ee1b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":65,"id":"1cde2a06_74fbff12","updated":"2025-09-09 17:36:57.000000000","message":"recheck cinder-plugin-ceph-tempest","commit_id":"b99a4ac4d761513e14c0a3b8ddcbf3ba44748c4a"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"1eded1794a79aeca8bc09b1b05c9e343ccc149e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":66,"id":"835a2f61_73503546","updated":"2025-09-10 14:28:30.000000000","message":"recheck tempest-integrated-storage-ubuntu-jammy","commit_id":"0cd3677f5fe1c0078551d04c5ba05e04751752ee"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"8302bb5067fd4d28a08601d208f75e8804d3d1fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":68,"id":"76423d82_c94fdc1f","updated":"2025-09-22 12:41:35.000000000","message":"IBM Storage CI and Zuul have passed. Couple of minor comments inline.","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"2ba9d53b362e0cf79f2d4386960c52a419b98222","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":69,"id":"c0118989_0e0bc2b2","updated":"2025-09-24 14:40:29.000000000","message":"My comment has been addressed. Thanks","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"f022f6147def9a2e521d620609958631b2431f83","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":69,"id":"34009ee0_c4e35708","updated":"2025-09-24 14:41:13.000000000","message":"recheck devstack-plugin-nfs-tempest-full failed","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"e8bd4ee7ec60e0876b637efa98799fe0232d8b78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":72,"id":"afa87fb4_7004e838","updated":"2025-10-31 01:18:40.000000000","message":"I am issuing a -1 due to line 608 in storwize_svc_common.py as it appears a potential error is not handled; in addition, I\u0027d like to see answers/changes for several of Volodymyr\u0027s comments as well.","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"df88db79f5def9a1c0e82c4a9a243f9979316234","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":79,"id":"b364f85a_ee186efe","updated":"2025-11-12 10:25:57.000000000","message":"run-quobyteci","commit_id":"5033ed10cec98d7ecbb04d696697373f5db57458"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":83,"id":"d18ec191_ccc2e5e5","updated":"2025-11-18 12:28:13.000000000","message":"Acknowledged all the comments.","commit_id":"e39ce3ff53fe3e8260c49ca4fae6dc1183d2cba9"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"ac3965f3365fef47fa66f983da2d0afcb20cff09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":83,"id":"cf8ed93e_b7ffdccf","updated":"2025-11-21 14:12:37.000000000","message":"I\u0027m happy with the answers and changes provided (though I slightly question the volume naming method).\n\nI waited for Zuul to pass, and it seems it has on recheck, so I will issue a +1 for this patch.","commit_id":"e39ce3ff53fe3e8260c49ca4fae6dc1183d2cba9"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"2bb3e1c3f99cd450aef02fe6ea8508d5be2b35fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":83,"id":"1c9c9515_2c2905db","updated":"2025-11-19 09:57:56.000000000","message":"recheck","commit_id":"e39ce3ff53fe3e8260c49ca4fae6dc1183d2cba9"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"0daebf86339ed28f6d4322d96b11edc6d8e1dace","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":86,"id":"7b942f2f_01285e11","updated":"2025-12-19 14:41:54.000000000","message":"LGTM","commit_id":"857dbcf46af795a34d78bcdf22b11db6a6e598d3"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"fcd3d28777c31b1c83b07960b321d31a41c21ece","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":88,"id":"6c6f126f_7d0eeb76","updated":"2026-01-07 12:30:40.000000000","message":"Code changes look good. Zuul also passed.","commit_id":"9ea35dcc24d9124fac58f8a0e37fd1f4d5314ee8"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"e56e615cd74b4d56401ddbf3a9511aebbf4e7a61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":88,"id":"41e55ea7_2d95cafc","updated":"2026-01-12 20:12:55.000000000","message":"Looks okay to me, ci passes, tests, etc.","commit_id":"9ea35dcc24d9124fac58f8a0e37fd1f4d5314ee8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"148c732fb296e6c9bb519b4ccbaff7e17502e90e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":89,"id":"143134b5_612c1fa2","updated":"2026-01-16 15:24:33.000000000","message":"Code question inline, plus 2 nits in the unit tests","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"change_message_id":"80740b0217178bc3a007a80e2a25f39783370cc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":89,"id":"13efe055_c95f0e2e","updated":"2026-01-16 14:17:49.000000000","message":"LGTM","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":35075,"name":"Alexander Deiter","email":"adeiter@infinidat.com","username":"adeiter"},"change_message_id":"6ca18991cc044ff00b32cdd2753535f2a1eb3da2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":89,"id":"ea2bb049_8660b980","updated":"2026-01-16 13:37:09.000000000","message":"Looks good to me - thank you!","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"148c732fb296e6c9bb519b4ccbaff7e17502e90e","unresolved":true,"context_lines":[{"line_number":7508,"context_line":"        \"\"\"Test creation and deletion of volumegroup snapshot\"\"\""},{"line_number":7509,"context_line":""},{"line_number":7510,"context_line":"        # Fake system info for testing"},{"line_number":7511,"context_line":"        fake_system_info \u003d {\u0027code_level\u0027: (8, 5, 1, 0),"},{"line_number":7512,"context_line":"                            \u0027system_name\u0027: \u0027storwize-svc-sim\u0027,"},{"line_number":7513,"context_line":"                            \u0027system_id\u0027: \u00270123456789ABCDEF\u0027}"},{"line_number":7514,"context_line":"        get_system_info.return_value \u003d fake_system_info"}],"source_content_type":"text/x-python","patch_set":89,"id":"cf588b06_6bf0b810","line":7511,"range":{"start_line":7511,"start_character":42,"end_line":7511,"end_character":54},"updated":"2026-01-16 15:24:33.000000000","message":"why not use self.VOLUMEGROUP_CODE_LEVEL here?","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"4cdb3f8f59b788482c80544857d792727de16201","unresolved":false,"context_lines":[{"line_number":7508,"context_line":"        \"\"\"Test creation and deletion of volumegroup snapshot\"\"\""},{"line_number":7509,"context_line":""},{"line_number":7510,"context_line":"        # Fake system info for testing"},{"line_number":7511,"context_line":"        fake_system_info \u003d {\u0027code_level\u0027: (8, 5, 1, 0),"},{"line_number":7512,"context_line":"                            \u0027system_name\u0027: \u0027storwize-svc-sim\u0027,"},{"line_number":7513,"context_line":"                            \u0027system_id\u0027: \u00270123456789ABCDEF\u0027}"},{"line_number":7514,"context_line":"        get_system_info.return_value \u003d fake_system_info"}],"source_content_type":"text/x-python","patch_set":89,"id":"dec73c95_c2f813fe","line":7511,"range":{"start_line":7511,"start_character":42,"end_line":7511,"end_character":54},"in_reply_to":"cf588b06_6bf0b810","updated":"2026-01-28 09:33:05.000000000","message":"Resolved","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"148c732fb296e6c9bb519b4ccbaff7e17502e90e","unresolved":true,"context_lines":[{"line_number":7605,"context_line":"        \"\"\"Test temporary volume group creation\"\"\""},{"line_number":7606,"context_line":"        with mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":7607,"context_line":"                               \u0027get_system_info\u0027) as get_system_info:"},{"line_number":7608,"context_line":"            fake_system_info \u003d {\u0027code_level\u0027: (8, 7, 0, 0),"},{"line_number":7609,"context_line":"                                \u0027system_name\u0027: \u0027storwize-svc-sim\u0027,"},{"line_number":7610,"context_line":"                                \u0027system_id\u0027: \u00270123456789ABCDEF\u0027}"},{"line_number":7611,"context_line":"            get_system_info.return_value \u003d fake_system_info"}],"source_content_type":"text/x-python","patch_set":89,"id":"df389a7f_308b312e","line":7608,"range":{"start_line":7608,"start_character":47,"end_line":7608,"end_character":57},"updated":"2026-01-16 15:24:33.000000000","message":"is this value meaningful, or does it just need to meet or exceed self.TEMP_VOLUMEGROUP_CODE_LEVEL ?  Is there a reason not to use the constant here?","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"4cdb3f8f59b788482c80544857d792727de16201","unresolved":false,"context_lines":[{"line_number":7605,"context_line":"        \"\"\"Test temporary volume group creation\"\"\""},{"line_number":7606,"context_line":"        with mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":7607,"context_line":"                               \u0027get_system_info\u0027) as get_system_info:"},{"line_number":7608,"context_line":"            fake_system_info \u003d {\u0027code_level\u0027: (8, 7, 0, 0),"},{"line_number":7609,"context_line":"                                \u0027system_name\u0027: \u0027storwize-svc-sim\u0027,"},{"line_number":7610,"context_line":"                                \u0027system_id\u0027: \u00270123456789ABCDEF\u0027}"},{"line_number":7611,"context_line":"            get_system_info.return_value \u003d fake_system_info"}],"source_content_type":"text/x-python","patch_set":89,"id":"b5ec928c_d3654c51","line":7608,"range":{"start_line":7608,"start_character":47,"end_line":7608,"end_character":57},"in_reply_to":"df389a7f_308b312e","updated":"2026-01-28 09:33:05.000000000","message":"Resolved","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6632,"context_line":"                volumegroup_name \u003d self._get_volumegroup_name("},{"line_number":6633,"context_line":"                    None, grp_id\u003dgroup_snapshot.group_id)"},{"line_number":6634,"context_line":"                params[\"volumegroup\"] \u003d volumegroup_name"},{"line_number":6635,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6636,"context_line":"                snapshots_model \u003d []"},{"line_number":6637,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6638,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"aa0cdb3b_bf20623b","line":6635,"updated":"2024-10-03 12:56:49.000000000","message":"we should mark the group snapshot status available only after create_volumegroup_snapshot is done","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6632,"context_line":"                volumegroup_name \u003d self._get_volumegroup_name("},{"line_number":6633,"context_line":"                    None, grp_id\u003dgroup_snapshot.group_id)"},{"line_number":6634,"context_line":"                params[\"volumegroup\"] \u003d volumegroup_name"},{"line_number":6635,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6636,"context_line":"                snapshots_model \u003d []"},{"line_number":6637,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6638,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a4fb678_ed991ce1","line":6635,"in_reply_to":"aa0cdb3b_bf20623b","updated":"2024-10-22 12:16:15.000000000","message":"Done","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6635,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6636,"context_line":"                snapshots_model \u003d []"},{"line_number":6637,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6638,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6639,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":6640,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":6641,"context_line":"                LOG.error(\"Failed to create VolumeGroup Snapshot. \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7234b2fe_075ab533","line":6638,"range":{"start_line":6638,"start_character":32,"end_line":6638,"end_character":59},"updated":"2024-10-03 12:56:49.000000000","message":"which is this property in the group_snapshot","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6635,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6636,"context_line":"                snapshots_model \u003d []"},{"line_number":6637,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6638,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6639,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":6640,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":6641,"context_line":"                LOG.error(\"Failed to create VolumeGroup Snapshot. \""}],"source_content_type":"text/x-python","patch_set":2,"id":"588a93d4_7a024397","line":6638,"range":{"start_line":6638,"start_character":32,"end_line":6638,"end_character":59},"in_reply_to":"7234b2fe_075ab533","updated":"2024-10-22 12:16:15.000000000","message":"I am just using the group_snapshot object to update the \u0027svc_volumegroup_snapshot_id\u0027 for individual snapshot\u0027s metadata by passing it in the below function: _update_volumegroup_snapshot_properties\ngroup_snaphot doesn\u0027t have any field for storing group_snapshot_metadata.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6651,"context_line":"        elif (volume_utils.is_group_a_type(group_snapshot,"},{"line_number":6652,"context_line":"                                           \"temporary_volume_group_enabled\")):"},{"line_number":6653,"context_line":"            try:"},{"line_number":6654,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6655,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6656,"context_line":"                params \u003d dict()"},{"line_number":6657,"context_line":"                volumegroup_snapshot_name \u003d ("}],"source_content_type":"text/x-python","patch_set":2,"id":"50e6ddac_a79b44fd","line":6654,"updated":"2024-10-03 12:56:49.000000000","message":"Can\u0027t we do this one time instead of repeating this code in every if section","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6651,"context_line":"        elif (volume_utils.is_group_a_type(group_snapshot,"},{"line_number":6652,"context_line":"                                           \"temporary_volume_group_enabled\")):"},{"line_number":6653,"context_line":"            try:"},{"line_number":6654,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6655,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6656,"context_line":"                params \u003d dict()"},{"line_number":6657,"context_line":"                volumegroup_snapshot_name \u003d ("}],"source_content_type":"text/x-python","patch_set":2,"id":"01ff5453_cf28dd93","line":6654,"in_reply_to":"50e6ddac_a79b44fd","updated":"2024-10-22 12:16:15.000000000","message":"As the code level are different for longlasting volumegroup and temporary volumegroup, i have put the check twice. \n\nBut since we are already doing the code level check at create volumegroup level, i am deleting this check from here, because without creating the volumegroup a user can not create volumegroup snapshot anyways.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6658,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6659,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":6660,"context_line":"                # Get the list of volumes that are present in the group."},{"line_number":6661,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group(context, group_snapshot.group_id)"},{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d131e78_abee7987","line":6661,"updated":"2024-10-03 12:56:49.000000000","message":"Why are we fetching the volumes from the group, we should use the snapshots passed, to get the list of volumes.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6658,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6659,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":6660,"context_line":"                # Get the list of volumes that are present in the group."},{"line_number":6661,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group(context, group_snapshot.group_id)"},{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"}],"source_content_type":"text/x-python","patch_set":2,"id":"e2d6d817_934ad27f","line":6661,"in_reply_to":"6d131e78_abee7987","updated":"2024-10-22 12:16:15.000000000","message":"instead of running a for loop to fetch the volume from each snapshot, i directly used the group_id to fetch the volumes.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6661,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group(context, group_snapshot.group_id)"},{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"},{"line_number":6665,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"f2397d40_3984da6a","line":6664,"updated":"2024-10-03 12:56:49.000000000","message":"volume names should not be hard coded use volume[name]","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6661,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group(context, group_snapshot.group_id)"},{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"},{"line_number":6665,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"8c6e1fe8_59bd2b4d","line":6664,"in_reply_to":"f2397d40_3984da6a","updated":"2024-10-22 12:16:15.000000000","message":"Done.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"},{"line_number":6665,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6668,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"}],"source_content_type":"text/x-python","patch_set":2,"id":"a6e17d86_feb0cc4c","line":6665,"updated":"2024-10-03 12:56:49.000000000","message":"we should have the max list of volumes check, what is the max length of the parameter which can be passed","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6662,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6663,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6664,"context_line":"                list_of_volumes \u003d [\u0027volume-\u0027 + str(volume.id) for volume in volumes]"},{"line_number":6665,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6668,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"}],"source_content_type":"text/x-python","patch_set":2,"id":"94827494_912f4ee3","line":6665,"in_reply_to":"a6e17d86_feb0cc4c","updated":"2024-10-22 12:16:15.000000000","message":"Done.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":14806,"name":"Chhavi Agarwal","email":"chhagarw@in.ibm.com","username":"chhagarw"},"change_message_id":"625a21e57676d61f204a0cc5fee3a1ac53d6046b","unresolved":true,"context_lines":[{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6668,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6669,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":6670,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":6671,"context_line":"                LOG.error(\"Failed to create VolumeGroup Snapshot. \""},{"line_number":6672,"context_line":"                          \"Exception: %s.\", err)"}],"source_content_type":"text/x-python","patch_set":2,"id":"24a617bb_b089fa83","line":6669,"updated":"2024-10-03 12:56:49.000000000","message":"We are only catching volumebackendAPIException what happens if any of the above API throws SSHException do we take care of that.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6666,"context_line":"                svc_volumegroup_snapshot_id \u003d self._helpers.create_volumegroup_snapshot(params)"},{"line_number":6667,"context_line":"                group_snapshot[\u0027svc_volumegroup_snapshot_id\u0027] \u003d svc_volumegroup_snapshot_id"},{"line_number":6668,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":6669,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":6670,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":6671,"context_line":"                LOG.error(\"Failed to create VolumeGroup Snapshot. \""},{"line_number":6672,"context_line":"                          \"Exception: %s.\", err)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ce7ba544_c64cb7a0","line":6669,"in_reply_to":"24a617bb_b089fa83","updated":"2024-10-22 12:16:15.000000000","message":"SSH Exceptions are taken care in the CLI definition itself.","commit_id":"f509022e58c35b14d5b11b57310fede9b5897fec"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":561,"context_line":"        \"\"\"Return volume group attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":562,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroup\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":563,"context_line":"                   \u0027\"%s\"\u0027 % volumegroup_id_or_name]"},{"line_number":564,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":565,"context_line":"        if not err:"},{"line_number":566,"context_line":"            return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"},{"line_number":567,"context_line":"                               with_header\u003dFalse)[0]"},{"line_number":568,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"},{"line_number":569,"context_line":"            return None"},{"line_number":570,"context_line":"        msg \u003d (_(\u0027CLI Exception output:\\n command: %(cmd)s\\n \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"afa517d6_d02f2d0c","line":567,"range":{"start_line":564,"start_character":8,"end_line":567,"end_character":52},"updated":"2024-10-10 07:11:01.000000000","message":"here also use the run_ssh_info","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"eaa53feb510ef270fe5ca10f032ae1b7323baeaa","unresolved":false,"context_lines":[{"line_number":561,"context_line":"        \"\"\"Return volume group attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":562,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroup\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":563,"context_line":"                   \u0027\"%s\"\u0027 % volumegroup_id_or_name]"},{"line_number":564,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":565,"context_line":"        if not err:"},{"line_number":566,"context_line":"            return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"},{"line_number":567,"context_line":"                               with_header\u003dFalse)[0]"},{"line_number":568,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"},{"line_number":569,"context_line":"            return None"},{"line_number":570,"context_line":"        msg \u003d (_(\u0027CLI Exception output:\\n command: %(cmd)s\\n \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"b25c29d1_f8719608","line":567,"range":{"start_line":564,"start_character":8,"end_line":567,"end_character":52},"in_reply_to":"6b4725bd_0c6f4357","updated":"2024-11-01 12:32:42.000000000","message":"Changed.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"cb246716e6ea7cd996c421e6e485c49dd2779ad2","unresolved":false,"context_lines":[{"line_number":561,"context_line":"        \"\"\"Return volume group attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":562,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroup\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":563,"context_line":"                   \u0027\"%s\"\u0027 % volumegroup_id_or_name]"},{"line_number":564,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":565,"context_line":"        if not err:"},{"line_number":566,"context_line":"            return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"},{"line_number":567,"context_line":"                               with_header\u003dFalse)[0]"},{"line_number":568,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"},{"line_number":569,"context_line":"            return None"},{"line_number":570,"context_line":"        msg \u003d (_(\u0027CLI Exception output:\\n command: %(cmd)s\\n \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"6b4725bd_0c6f4357","line":567,"range":{"start_line":564,"start_character":8,"end_line":567,"end_character":52},"in_reply_to":"afa517d6_d02f2d0c","updated":"2024-10-22 12:19:28.000000000","message":"It does the same thing internally.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":602,"context_line":"        elif \"name\" and \"volumegroup\" in params:"},{"line_number":603,"context_line":"            ssh_cmd.extend([\u0027-snapshot\u0027, params[\"name\"], \u0027-volumegroup\u0027,"},{"line_number":604,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":605,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"0946a59a_fb371227","line":605,"range":{"start_line":605,"start_character":8,"end_line":605,"end_character":60},"updated":"2024-10-10 07:11:01.000000000","message":"run_ssh_info can be used.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"cb246716e6ea7cd996c421e6e485c49dd2779ad2","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        elif \"name\" and \"volumegroup\" in params:"},{"line_number":603,"context_line":"            ssh_cmd.extend([\u0027-snapshot\u0027, params[\"name\"], \u0027-volumegroup\u0027,"},{"line_number":604,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":605,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"ed709166_bb4d2929","line":605,"range":{"start_line":605,"start_character":8,"end_line":605,"end_character":60},"in_reply_to":"0946a59a_fb371227","updated":"2024-10-22 12:19:28.000000000","message":"It does the same thing internally.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":604,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":605,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"},{"line_number":609,"context_line":"            # Parse the lsvolumegroupsnapshot output"},{"line_number":610,"context_line":"            output \u003d out.split(\u0027\\n\u0027)"},{"line_number":611,"context_line":"            attributes \u003d output[0].split(\"!\")"},{"line_number":612,"context_line":"            attribute_values \u003d output[1].split(\"!\")"},{"line_number":613,"context_line":"            attrs \u003d {key: val for key, val in zip(attributes,"},{"line_number":614,"context_line":"                                                  attribute_values)}"},{"line_number":615,"context_line":"            return attrs"},{"line_number":616,"context_line":"        # CMMVC5804E implies volumegroup-snapshot or volumegroup specified"},{"line_number":617,"context_line":"        # does not exist in the SVC storage."},{"line_number":618,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"}],"source_content_type":"text/x-python","patch_set":3,"id":"c85e70a5_24bcb0e2","line":615,"range":{"start_line":607,"start_character":0,"end_line":615,"end_character":24},"updated":"2024-10-10 07:11:01.000000000","message":"Instead of parsing, CLIResponse can be used.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"eaa53feb510ef270fe5ca10f032ae1b7323baeaa","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":605,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"},{"line_number":609,"context_line":"            # Parse the lsvolumegroupsnapshot output"},{"line_number":610,"context_line":"            output \u003d out.split(\u0027\\n\u0027)"},{"line_number":611,"context_line":"            attributes \u003d output[0].split(\"!\")"},{"line_number":612,"context_line":"            attribute_values \u003d output[1].split(\"!\")"},{"line_number":613,"context_line":"            attrs \u003d {key: val for key, val in zip(attributes,"},{"line_number":614,"context_line":"                                                  attribute_values)}"},{"line_number":615,"context_line":"            return attrs"},{"line_number":616,"context_line":"        # CMMVC5804E implies volumegroup-snapshot or volumegroup specified"},{"line_number":617,"context_line":"        # does not exist in the SVC storage."},{"line_number":618,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7b0c8fdd_a777b8ab","line":615,"range":{"start_line":607,"start_character":0,"end_line":615,"end_character":24},"in_reply_to":"5a600a03_d486b0a0","updated":"2024-11-01 12:32:42.000000000","message":"Changed.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"cb246716e6ea7cd996c421e6e485c49dd2779ad2","unresolved":false,"context_lines":[{"line_number":604,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":605,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"},{"line_number":609,"context_line":"            # Parse the lsvolumegroupsnapshot output"},{"line_number":610,"context_line":"            output \u003d out.split(\u0027\\n\u0027)"},{"line_number":611,"context_line":"            attributes \u003d output[0].split(\"!\")"},{"line_number":612,"context_line":"            attribute_values \u003d output[1].split(\"!\")"},{"line_number":613,"context_line":"            attrs \u003d {key: val for key, val in zip(attributes,"},{"line_number":614,"context_line":"                                                  attribute_values)}"},{"line_number":615,"context_line":"            return attrs"},{"line_number":616,"context_line":"        # CMMVC5804E implies volumegroup-snapshot or volumegroup specified"},{"line_number":617,"context_line":"        # does not exist in the SVC storage."},{"line_number":618,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a600a03_d486b0a0","line":615,"range":{"start_line":607,"start_character":0,"end_line":615,"end_character":24},"in_reply_to":"c85e70a5_24bcb0e2","updated":"2024-10-22 12:19:28.000000000","message":"It does the same thing internally.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":637,"context_line":"            return self.run_ssh_check_created(ssh_cmd)"},{"line_number":638,"context_line":"        except Exception:"},{"line_number":639,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":640,"context_line":"                LOG.exception(\u0027Failed to create volumegroup snapshot.\u0027)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def rmsnapshot(self, params):"},{"line_number":643,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmsnapshot\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"8a39b5e3_2a0872b9","line":640,"range":{"start_line":640,"start_character":16,"end_line":640,"end_character":71},"updated":"2024-10-10 07:11:01.000000000","message":"Log message needs to be corrected with details of failure, volume group snapshot details.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":637,"context_line":"            return self.run_ssh_check_created(ssh_cmd)"},{"line_number":638,"context_line":"        except Exception:"},{"line_number":639,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":640,"context_line":"                LOG.exception(\u0027Failed to create volumegroup snapshot.\u0027)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"    def rmsnapshot(self, params):"},{"line_number":643,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmsnapshot\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"7826e716_f7f0724a","line":640,"range":{"start_line":640,"start_character":16,"end_line":640,"end_character":71},"in_reply_to":"8a39b5e3_2a0872b9","updated":"2024-10-22 12:16:15.000000000","message":"Done.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":3898,"context_line":"            if group_snapshot else \"\")"},{"line_number":3899,"context_line":"        if not snapshot.metadata:"},{"line_number":3900,"context_line":"            snapshot.metadata \u003d dict()"},{"line_number":3901,"context_line":"        snapshot.metadata[\u0027snapshot_name\u0027] \u003d volumegroup_snapshot_name"},{"line_number":3902,"context_line":"        snapshot.metadata[\u0027svc_volumegroup_snapshot_id\u0027] \u003d ("},{"line_number":3903,"context_line":"            svc_volumegroup_snapshot_id)"},{"line_number":3904,"context_line":"        snapshot.save()"},{"line_number":3905,"context_line":""},{"line_number":3906,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":3,"id":"75d9bee6_68d42f65","line":3903,"range":{"start_line":3901,"start_character":8,"end_line":3903,"end_character":40},"updated":"2024-10-10 07:11:01.000000000","message":"maintain uniformity of the keys used to store the volume group snapshot metadata.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":3898,"context_line":"            if group_snapshot else \"\")"},{"line_number":3899,"context_line":"        if not snapshot.metadata:"},{"line_number":3900,"context_line":"            snapshot.metadata \u003d dict()"},{"line_number":3901,"context_line":"        snapshot.metadata[\u0027snapshot_name\u0027] \u003d volumegroup_snapshot_name"},{"line_number":3902,"context_line":"        snapshot.metadata[\u0027svc_volumegroup_snapshot_id\u0027] \u003d ("},{"line_number":3903,"context_line":"            svc_volumegroup_snapshot_id)"},{"line_number":3904,"context_line":"        snapshot.save()"},{"line_number":3905,"context_line":""},{"line_number":3906,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":3,"id":"b9808c15_8924a6b0","line":3903,"range":{"start_line":3901,"start_character":8,"end_line":3903,"end_character":40},"in_reply_to":"75d9bee6_68d42f65","updated":"2024-10-22 12:16:15.000000000","message":"Done","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"eaa53feb510ef270fe5ca10f032ae1b7323baeaa","unresolved":false,"context_lines":[{"line_number":3898,"context_line":"            if group_snapshot else \"\")"},{"line_number":3899,"context_line":"        if not snapshot.metadata:"},{"line_number":3900,"context_line":"            snapshot.metadata \u003d dict()"},{"line_number":3901,"context_line":"        snapshot.metadata[\u0027snapshot_name\u0027] \u003d volumegroup_snapshot_name"},{"line_number":3902,"context_line":"        snapshot.metadata[\u0027svc_volumegroup_snapshot_id\u0027] \u003d ("},{"line_number":3903,"context_line":"            svc_volumegroup_snapshot_id)"},{"line_number":3904,"context_line":"        snapshot.save()"},{"line_number":3905,"context_line":""},{"line_number":3906,"context_line":"    def create_volume(self, volume):"}],"source_content_type":"text/x-python","patch_set":3,"id":"81725b21_e6c0ffcb","line":3903,"range":{"start_line":3901,"start_character":8,"end_line":3903,"end_character":40},"in_reply_to":"b9808c15_8924a6b0","updated":"2024-11-01 12:32:42.000000000","message":"There are other variables with the name \u0027svc_\u0027 so in order to keep it uniform with that, we used it here as well.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6624,"context_line":"            try:"},{"line_number":6625,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6626,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6627,"context_line":"                params \u003d dict()"},{"line_number":6628,"context_line":"                # Use group_snapshot id as volumegroup name"},{"line_number":6629,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":6630,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"}],"source_content_type":"text/x-python","patch_set":3,"id":"199ba853_2e08bbfb","line":6627,"range":{"start_line":6627,"start_character":16,"end_line":6627,"end_character":31},"updated":"2024-10-10 07:11:01.000000000","message":"move the code from line 6627 to 6636 to create_volumegroup_snapshot and pass the group_snapshot, snaphots as input to create_volumegroup_snapshot. \n\nalso move the _update_volumegroup_snapshot_properties call to create_volumegroup_snapshot.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6624,"context_line":"            try:"},{"line_number":6625,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6626,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6627,"context_line":"                params \u003d dict()"},{"line_number":6628,"context_line":"                # Use group_snapshot id as volumegroup name"},{"line_number":6629,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":6630,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"}],"source_content_type":"text/x-python","patch_set":3,"id":"8116f482_cc060c58","line":6627,"range":{"start_line":6627,"start_character":16,"end_line":6627,"end_character":31},"in_reply_to":"199ba853_2e08bbfb","updated":"2024-10-22 12:16:15.000000000","message":"he params for \u0027volume_group_enabled\u0027 and \u0027temporary_volumegroup_enabled\u0027 are different. Hence i have differentiated those params here itself rather than putting them in create_volumegroup_snapshot and then checking the group_type again in that.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6660,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6661,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":6662,"context_line":"                # Get the list of volumes that are present in the group."},{"line_number":6663,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":6664,"context_line":"                    context, group_snapshot.group_id)"},{"line_number":6665,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6666,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6667,"context_line":"                list_of_volumes \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"351e5cc5_77932958","line":6664,"range":{"start_line":6663,"start_character":16,"end_line":6664,"end_character":53},"updated":"2024-10-10 07:11:01.000000000","message":"use the db call instead of objects call to get the volumes of group, Then volume[\u0027name\u0027] will give the backend volume name.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6660,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6661,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":6662,"context_line":"                # Get the list of volumes that are present in the group."},{"line_number":6663,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":6664,"context_line":"                    context, group_snapshot.group_id)"},{"line_number":6665,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6666,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6667,"context_line":"                list_of_volumes \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"536b3fc8_fa621c7a","line":6664,"range":{"start_line":6663,"start_character":16,"end_line":6664,"end_character":53},"in_reply_to":"351e5cc5_77932958","updated":"2024-10-22 12:16:15.000000000","message":"Unable to make the call:\n\nvolumes \u003d self.db.volume_get_all_by_generic_group(ctxt.elevated(), group_snapshot.group_id)\nERROR oslo_messaging.rpc.server                                                       \nERROR oslo_messaging.rpc.server NameError: name \u0027ctxt\u0027 is not defined\n\nAlthough i am getting the correct result using the objects call.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"eaa53feb510ef270fe5ca10f032ae1b7323baeaa","unresolved":false,"context_lines":[{"line_number":6660,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6661,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":6662,"context_line":"                # Get the list of volumes that are present in the group."},{"line_number":6663,"context_line":"                volumes \u003d objects.VolumeList.get_all_by_generic_group("},{"line_number":6664,"context_line":"                    context, group_snapshot.group_id)"},{"line_number":6665,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6666,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6667,"context_line":"                list_of_volumes \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"a5819da3_acb58d27","line":6664,"range":{"start_line":6663,"start_character":16,"end_line":6664,"end_character":53},"in_reply_to":"536b3fc8_fa621c7a","updated":"2024-11-01 12:32:42.000000000","message":"Changed.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6664,"context_line":"                    context, group_snapshot.group_id)"},{"line_number":6665,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6666,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6667,"context_line":"                list_of_volumes \u003d ("},{"line_number":6668,"context_line":"                    [\u0027volume-\u0027 + str(volume.id) for volume in volumes])"},{"line_number":6669,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6670,"context_line":"                svc_volumegroup_snapshot_id \u003d ("},{"line_number":6671,"context_line":"                    self._helpers.create_volumegroup_snapshot(params))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fe61c567_8c11bead","line":6668,"range":{"start_line":6667,"start_character":16,"end_line":6668,"end_character":71},"updated":"2024-10-10 07:11:01.000000000","message":"Instead of framing backend volume name, volume object will have metadata, backend name can be used from the metadata.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6664,"context_line":"                    context, group_snapshot.group_id)"},{"line_number":6665,"context_line":"                # For group_type as temporary_volume_group_enabled,"},{"line_number":6666,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6667,"context_line":"                list_of_volumes \u003d ("},{"line_number":6668,"context_line":"                    [\u0027volume-\u0027 + str(volume.id) for volume in volumes])"},{"line_number":6669,"context_line":"                params[\u0027list_of_volumes\u0027] \u003d \u0027:\u0027.join(list_of_volumes)"},{"line_number":6670,"context_line":"                svc_volumegroup_snapshot_id \u003d ("},{"line_number":6671,"context_line":"                    self._helpers.create_volumegroup_snapshot(params))"}],"source_content_type":"text/x-python","patch_set":3,"id":"f29f7736_0d54c73e","line":6668,"range":{"start_line":6667,"start_character":16,"end_line":6668,"end_character":71},"in_reply_to":"fe61c567_8c11bead","updated":"2024-10-22 12:16:15.000000000","message":"Done.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6678,"context_line":"                          \"Exception: %s.\", err)"},{"line_number":6679,"context_line":"            snapshots_model \u003d []"},{"line_number":6680,"context_line":"            for snapshot in snapshots:"},{"line_number":6681,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6682,"context_line":"                    context, snapshot, group_snapshot)"},{"line_number":6683,"context_line":"                snapshots_model.append("},{"line_number":6684,"context_line":"                    {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"fdccd0d0_7443c85e","line":6681,"updated":"2024-10-10 07:11:01.000000000","message":"pass the snapshots and group_snapshot as input to _update_volumegroup_snapshot_properties and update the metadata.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6678,"context_line":"                          \"Exception: %s.\", err)"},{"line_number":6679,"context_line":"            snapshots_model \u003d []"},{"line_number":6680,"context_line":"            for snapshot in snapshots:"},{"line_number":6681,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6682,"context_line":"                    context, snapshot, group_snapshot)"},{"line_number":6683,"context_line":"                snapshots_model.append("},{"line_number":6684,"context_line":"                    {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7c6128f5_34fc00fa","line":6681,"in_reply_to":"fdccd0d0_7443c85e","updated":"2024-10-22 12:16:15.000000000","message":"Done","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6715,"context_line":"            try:"},{"line_number":6716,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6717,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6718,"context_line":"                params \u003d dict()"},{"line_number":6719,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":6720,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6721,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"}],"source_content_type":"text/x-python","patch_set":3,"id":"5b88b195_760750cd","line":6718,"range":{"start_line":6718,"start_character":16,"end_line":6718,"end_character":31},"updated":"2024-10-10 07:11:01.000000000","message":"move the code from line 6718 to 6726 to delete_volumegroup_snapshot and pass group_snapshot as input.\n\nalso code from 6728 code 6743 to delete_volumegroup_snapshot.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6715,"context_line":"            try:"},{"line_number":6716,"context_line":"                self._helpers.check_codelevel_for_volumegroup("},{"line_number":6717,"context_line":"                    self._state[\u0027code_level\u0027])"},{"line_number":6718,"context_line":"                params \u003d dict()"},{"line_number":6719,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":6720,"context_line":"                    self._get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":6721,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"}],"source_content_type":"text/x-python","patch_set":3,"id":"6f564fba_97ccc672","line":6718,"range":{"start_line":6718,"start_character":16,"end_line":6718,"end_character":31},"in_reply_to":"5b88b195_760750cd","updated":"2024-10-22 12:16:15.000000000","message":"The params for \u0027volume_group_enabled\u0027 and \u0027temporary_volumegroup_enabled\u0027 are different. Hence i have differentiated those params here itself rather than putting them in delete_volumegroup_snapshot and then checking the group_type again in that.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"a7d230b537df9e227766db0e482064b42c12b51e","unresolved":true,"context_lines":[{"line_number":6726,"context_line":"                snapshots_model \u003d []"},{"line_number":6727,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6728,"context_line":"                for snapshot in snapshots:"},{"line_number":6729,"context_line":"                    self._update_volumegroup_snapshot_properties("},{"line_number":6730,"context_line":"                        context, snapshot)"},{"line_number":6731,"context_line":"                    snapshots_model.append("},{"line_number":6732,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"2f6b4055_feeb222e","line":6729,"range":{"start_line":6729,"start_character":25,"end_line":6729,"end_character":64},"updated":"2024-10-10 07:11:01.000000000","message":"Do we need this call while deleting the group snapshot, here we are resting the snapshot name to null. \nSame with temporary volume group snapshot.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"ad9e21ed0948225fc50a08ee4f74666d7edc8f81","unresolved":false,"context_lines":[{"line_number":6726,"context_line":"                snapshots_model \u003d []"},{"line_number":6727,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6728,"context_line":"                for snapshot in snapshots:"},{"line_number":6729,"context_line":"                    self._update_volumegroup_snapshot_properties("},{"line_number":6730,"context_line":"                        context, snapshot)"},{"line_number":6731,"context_line":"                    snapshots_model.append("},{"line_number":6732,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"b147c46c_0b1b631c","line":6729,"range":{"start_line":6729,"start_character":25,"end_line":6729,"end_character":64},"in_reply_to":"2f6b4055_feeb222e","updated":"2024-10-22 12:16:15.000000000","message":"We need to return the snapshots_model to manager.py for both success and failure case. Hence i have passed it here.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"eaa53feb510ef270fe5ca10f032ae1b7323baeaa","unresolved":false,"context_lines":[{"line_number":6726,"context_line":"                snapshots_model \u003d []"},{"line_number":6727,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6728,"context_line":"                for snapshot in snapshots:"},{"line_number":6729,"context_line":"                    self._update_volumegroup_snapshot_properties("},{"line_number":6730,"context_line":"                        context, snapshot)"},{"line_number":6731,"context_line":"                    snapshots_model.append("},{"line_number":6732,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"a5eab3d7_50adbd5a","line":6729,"range":{"start_line":6729,"start_character":25,"end_line":6729,"end_character":64},"in_reply_to":"b147c46c_0b1b631c","updated":"2024-11-01 12:32:42.000000000","message":"Changed.","commit_id":"337b3abcba226c03d2d3d60e55c26c16cdbb76e2"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":true,"context_lines":[{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"},{"line_number":609,"context_line":"            # Parse the lsvolumegroupsnapshot output"},{"line_number":610,"context_line":"            output \u003d out.split(\u0027\\n\u0027)"},{"line_number":611,"context_line":"            attributes \u003d output[0].split(\"!\")"},{"line_number":612,"context_line":"            attribute_values \u003d output[1].split(\"!\")"},{"line_number":613,"context_line":"            attrs \u003d {key: val for key, val in zip(attributes,"},{"line_number":614,"context_line":"                                                  attribute_values)}"},{"line_number":615,"context_line":"            return attrs"},{"line_number":616,"context_line":"        # CMMVC5804E implies volumegroup-snapshot or volumegroup specified"},{"line_number":617,"context_line":"        # does not exist in the SVC storage."},{"line_number":618,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"}],"source_content_type":"text/x-python","patch_set":4,"id":"2c55e2f3_af3253c9","line":615,"range":{"start_line":609,"start_character":12,"end_line":615,"end_character":24},"updated":"2024-10-24 07:25:16.000000000","message":"use CLIResponse, don\u0027t parse manually.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"7772508371271351c47022c845e21334ccf5c99d","unresolved":false,"context_lines":[{"line_number":606,"context_line":"        if not err:"},{"line_number":607,"context_line":"            if not out:"},{"line_number":608,"context_line":"                return None"},{"line_number":609,"context_line":"            # Parse the lsvolumegroupsnapshot output"},{"line_number":610,"context_line":"            output \u003d out.split(\u0027\\n\u0027)"},{"line_number":611,"context_line":"            attributes \u003d output[0].split(\"!\")"},{"line_number":612,"context_line":"            attribute_values \u003d output[1].split(\"!\")"},{"line_number":613,"context_line":"            attrs \u003d {key: val for key, val in zip(attributes,"},{"line_number":614,"context_line":"                                                  attribute_values)}"},{"line_number":615,"context_line":"            return attrs"},{"line_number":616,"context_line":"        # CMMVC5804E implies volumegroup-snapshot or volumegroup specified"},{"line_number":617,"context_line":"        # does not exist in the SVC storage."},{"line_number":618,"context_line":"        if \u0027CMMVC5804E\u0027 in err:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bb9fe19c_28db5b08","line":615,"range":{"start_line":609,"start_character":12,"end_line":615,"end_character":24},"in_reply_to":"2c55e2f3_af3253c9","updated":"2024-10-28 20:06:54.000000000","message":"Done.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":true,"context_lines":[{"line_number":6668,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6669,"context_line":"                list_of_volumes \u003d [volume.name for volume in volumes]"},{"line_number":6670,"context_line":"                if not len(list_of_volumes) \u003c\u003d 512:"},{"line_number":6671,"context_line":"                    reason\u003d_(\u0027Failed to create VolumeGroup Snapshot. \u0027"},{"line_number":6672,"context_line":"                             \u0027Exceeded the maximum number of volumes \u0027"},{"line_number":6673,"context_line":"                             \u0027permitted for addsnapshot CLI. \u0027"},{"line_number":6674,"context_line":"                             \u0027Maximum number of volumes permitted is 512\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"850c70f8_ee4f7eec","line":6671,"range":{"start_line":6671,"start_character":30,"end_line":6671,"end_character":68},"updated":"2024-10-24 07:25:16.000000000","message":"check what error reports from the backend when more than 512volumes are given.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"7772508371271351c47022c845e21334ccf5c99d","unresolved":false,"context_lines":[{"line_number":6668,"context_line":"                # \u0027addsnapshot\u0027 will be called for a list of volumes."},{"line_number":6669,"context_line":"                list_of_volumes \u003d [volume.name for volume in volumes]"},{"line_number":6670,"context_line":"                if not len(list_of_volumes) \u003c\u003d 512:"},{"line_number":6671,"context_line":"                    reason\u003d_(\u0027Failed to create VolumeGroup Snapshot. \u0027"},{"line_number":6672,"context_line":"                             \u0027Exceeded the maximum number of volumes \u0027"},{"line_number":6673,"context_line":"                             \u0027permitted for addsnapshot CLI. \u0027"},{"line_number":6674,"context_line":"                             \u0027Maximum number of volumes permitted is 512\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f51751e_6f7100f6","line":6671,"range":{"start_line":6671,"start_character":30,"end_line":6671,"end_character":68},"in_reply_to":"850c70f8_ee4f7eec","updated":"2024-10-28 20:06:54.000000000","message":"As discussed over call, i am removing this check as it will be handled in the SVC exception itself.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":true,"context_lines":[{"line_number":6685,"context_line":"                          \"Exception: %s.\", err)"},{"line_number":6686,"context_line":"            self._update_volumegroup_snapshot_properties(context, snapshots,"},{"line_number":6687,"context_line":"                                                         group_snapshot)"},{"line_number":6688,"context_line":"            for snapshot in snapshots:"},{"line_number":6689,"context_line":"                snapshots_model.append("},{"line_number":6690,"context_line":"                    {\u0027id\u0027: snapshot[\u0027id\u0027],"},{"line_number":6691,"context_line":"                     \u0027status\u0027: model_update[\u0027status\u0027],"},{"line_number":6692,"context_line":"                     \u0027replication_status\u0027: ("},{"line_number":6693,"context_line":"                         fields.ReplicationStatus.NOT_CAPABLE)})"},{"line_number":6694,"context_line":"        else:"},{"line_number":6695,"context_line":"            # we\u0027ll rely on the generic group implementation if it is not a"},{"line_number":6696,"context_line":"            # consistency group/volumegroup request."}],"source_content_type":"text/x-python","patch_set":4,"id":"91de3595_91e9e190","line":6693,"range":{"start_line":6688,"start_character":12,"end_line":6693,"end_character":64},"updated":"2024-10-24 07:25:16.000000000","message":"move this code to \"_update_volumegroup_snapshot_properties\" and return the snapshots model_update from \"_update_volumegroup_snapshot_properties\" method.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"7772508371271351c47022c845e21334ccf5c99d","unresolved":false,"context_lines":[{"line_number":6685,"context_line":"                          \"Exception: %s.\", err)"},{"line_number":6686,"context_line":"            self._update_volumegroup_snapshot_properties(context, snapshots,"},{"line_number":6687,"context_line":"                                                         group_snapshot)"},{"line_number":6688,"context_line":"            for snapshot in snapshots:"},{"line_number":6689,"context_line":"                snapshots_model.append("},{"line_number":6690,"context_line":"                    {\u0027id\u0027: snapshot[\u0027id\u0027],"},{"line_number":6691,"context_line":"                     \u0027status\u0027: model_update[\u0027status\u0027],"},{"line_number":6692,"context_line":"                     \u0027replication_status\u0027: ("},{"line_number":6693,"context_line":"                         fields.ReplicationStatus.NOT_CAPABLE)})"},{"line_number":6694,"context_line":"        else:"},{"line_number":6695,"context_line":"            # we\u0027ll rely on the generic group implementation if it is not a"},{"line_number":6696,"context_line":"            # consistency group/volumegroup request."}],"source_content_type":"text/x-python","patch_set":4,"id":"7421d6e3_a63dae75","line":6693,"range":{"start_line":6688,"start_character":12,"end_line":6693,"end_character":64},"in_reply_to":"91de3595_91e9e190","updated":"2024-10-28 20:06:54.000000000","message":"Done.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":true,"context_lines":[{"line_number":6730,"context_line":"                snapshots_model \u003d []"},{"line_number":6731,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6732,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.DELETED}"},{"line_number":6733,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6734,"context_line":"                    context, snapshots)"},{"line_number":6735,"context_line":"                for snapshot in snapshots:"},{"line_number":6736,"context_line":"                    snapshots_model.append("},{"line_number":6737,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"e5c5798d_0d198e0f","line":6734,"range":{"start_line":6733,"start_character":16,"end_line":6734,"end_character":39},"updated":"2024-10-24 07:25:16.000000000","message":"\"_update_volumegroup_snapshot_properties\" is not required while deleting.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"7772508371271351c47022c845e21334ccf5c99d","unresolved":false,"context_lines":[{"line_number":6730,"context_line":"                snapshots_model \u003d []"},{"line_number":6731,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6732,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.DELETED}"},{"line_number":6733,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6734,"context_line":"                    context, snapshots)"},{"line_number":6735,"context_line":"                for snapshot in snapshots:"},{"line_number":6736,"context_line":"                    snapshots_model.append("},{"line_number":6737,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"c6282247_cb1653c5","line":6734,"range":{"start_line":6733,"start_character":16,"end_line":6734,"end_character":39},"in_reply_to":"e5c5798d_0d198e0f","updated":"2024-10-28 20:06:54.000000000","message":"Done.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36897,"name":"Girish Chilukuri","display_name":"Girish Chilukuri","email":"Girish.Chilukuri1@partner.ibm.com","username":"girishchilukuri1"},"change_message_id":"4e3622e6c550d97c268ee1ce1f8c5fa3b6e34d69","unresolved":true,"context_lines":[{"line_number":6755,"context_line":"                snapshots_model \u003d []"},{"line_number":6756,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6757,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.DELETED}"},{"line_number":6758,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6759,"context_line":"                    context, snapshots)"},{"line_number":6760,"context_line":"                for snapshot in snapshots:"},{"line_number":6761,"context_line":"                    snapshots_model.append("},{"line_number":6762,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"59fcd068_9053aa17","line":6759,"range":{"start_line":6758,"start_character":16,"end_line":6759,"end_character":39},"updated":"2024-10-24 07:25:16.000000000","message":"_update_volumegroup_snapshot_properties not required while deleting.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"7772508371271351c47022c845e21334ccf5c99d","unresolved":false,"context_lines":[{"line_number":6755,"context_line":"                snapshots_model \u003d []"},{"line_number":6756,"context_line":"                self._helpers.delete_volumegroup_snapshot(params)"},{"line_number":6757,"context_line":"                model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.DELETED}"},{"line_number":6758,"context_line":"                self._update_volumegroup_snapshot_properties("},{"line_number":6759,"context_line":"                    context, snapshots)"},{"line_number":6760,"context_line":"                for snapshot in snapshots:"},{"line_number":6761,"context_line":"                    snapshots_model.append("},{"line_number":6762,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"5942f02d_4171ce09","line":6759,"range":{"start_line":6758,"start_character":16,"end_line":6759,"end_character":39},"in_reply_to":"59fcd068_9053aa17","updated":"2024-10-28 20:06:54.000000000","message":"Done.","commit_id":"5ab641c57384675124c02ac5df04a263c734d176"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"4f947cec515e7cc296d187fc8fac7a4bf8911d11","unresolved":false,"context_lines":[{"line_number":3651,"context_line":"        self._replica_target \u003d {}"},{"line_number":3652,"context_line":""},{"line_number":3653,"context_line":"        # This boolean is used to indicate whether replication is supported"},{"line_number":3654,"context_line":"        # by this storage."},{"line_number":3655,"context_line":"        self._replica_enabled \u003d False"},{"line_number":3656,"context_line":""},{"line_number":3657,"context_line":"        # This list is used to save the supported replication modes."}],"source_content_type":"text/x-python","patch_set":14,"id":"ad4a23f1_e3d8306b","line":3654,"in_reply_to":"53d496e8_56ea6e19","updated":"2024-12-26 11:28:39.000000000","message":"\u003e pep8: E122 continuation line missing indentation or outdented\n\nPlease fix.","commit_id":"2d85679ad0eed4f07c817ee2802808de8d435b25"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"4f947cec515e7cc296d187fc8fac7a4bf8911d11","unresolved":false,"context_lines":[{"line_number":3651,"context_line":"        self._replica_target \u003d {}"},{"line_number":3652,"context_line":""},{"line_number":3653,"context_line":"        # This boolean is used to indicate whether replication is supported"},{"line_number":3654,"context_line":"        # by this storage."},{"line_number":3655,"context_line":"        self._replica_enabled \u003d False"},{"line_number":3656,"context_line":""},{"line_number":3657,"context_line":"        # This list is used to save the supported replication modes."}],"source_content_type":"text/x-python","patch_set":14,"id":"e3c6d5c5_4782f2a8","line":3654,"in_reply_to":"7bb307b4_a3174112","updated":"2024-12-26 11:28:39.000000000","message":"\u003e pep8: E122 continuation line missing indentation or outdented\n\nPlease fix.","commit_id":"2d85679ad0eed4f07c817ee2802808de8d435b25"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f0bd617155b3a5642bd4f755d1c52bec37c1addc","unresolved":true,"context_lines":[{"line_number":632,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":633,"context_line":"                LOG.exception(\u0027Failed to create volumegroup snapshot \u0027"},{"line_number":634,"context_line":"                              \u0027%(vg_snap)s.\u0027,"},{"line_number":635,"context_line":"                              {\u0027vg_snap\u0027: params[\"name\"]})"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def rmsnapshot(self, params):"},{"line_number":638,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmsnapshot\u0027]"}],"source_content_type":"text/x-python","patch_set":59,"id":"b94e1142_796e5ea6","line":635,"range":{"start_line":635,"start_character":42,"end_line":635,"end_character":56},"updated":"2025-09-02 22:51:56.000000000","message":"-1: Line 625 implies that this could raise a KeyError when you try to log the exception","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"635e5e3cf90ee5c399c3e256b747d7da03400ce4","unresolved":false,"context_lines":[{"line_number":632,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":633,"context_line":"                LOG.exception(\u0027Failed to create volumegroup snapshot \u0027"},{"line_number":634,"context_line":"                              \u0027%(vg_snap)s.\u0027,"},{"line_number":635,"context_line":"                              {\u0027vg_snap\u0027: params[\"name\"]})"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def rmsnapshot(self, params):"},{"line_number":638,"context_line":"        ssh_cmd \u003d [\u0027svctask\u0027, \u0027rmsnapshot\u0027]"}],"source_content_type":"text/x-python","patch_set":59,"id":"54817161_47211e5c","line":635,"range":{"start_line":635,"start_character":42,"end_line":635,"end_character":56},"in_reply_to":"b94e1142_796e5ea6","updated":"2025-09-04 07:10:30.000000000","message":"resolved","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f0bd617155b3a5642bd4f755d1c52bec37c1addc","unresolved":true,"context_lines":[{"line_number":2940,"context_line":"        group_snapshot_id \u003d ("},{"line_number":2941,"context_line":"            group_snapshot.id if group_snapshot else grp_snapshot_id)"},{"line_number":2942,"context_line":"        vg_snapshot \u003d storwize_const.VG_SNAPSHOT_PREFIX"},{"line_number":2943,"context_line":"        return vg_snapshot + group_snapshot_id"},{"line_number":2944,"context_line":""},{"line_number":2945,"context_line":"    def update_volumegroup_snapshot_properties(self, ctxt, snapshots,"},{"line_number":2946,"context_line":"                                               group_snapshot\u003dNone,"}],"source_content_type":"text/x-python","patch_set":59,"id":"03571047_3dacfc93","line":2943,"range":{"start_line":2943,"start_character":15,"end_line":2943,"end_character":46},"updated":"2025-09-02 22:51:56.000000000","message":"This will raise a TypeError if group_snapshot and grp_snapshot_id are both None","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"635e5e3cf90ee5c399c3e256b747d7da03400ce4","unresolved":false,"context_lines":[{"line_number":2940,"context_line":"        group_snapshot_id \u003d ("},{"line_number":2941,"context_line":"            group_snapshot.id if group_snapshot else grp_snapshot_id)"},{"line_number":2942,"context_line":"        vg_snapshot \u003d storwize_const.VG_SNAPSHOT_PREFIX"},{"line_number":2943,"context_line":"        return vg_snapshot + group_snapshot_id"},{"line_number":2944,"context_line":""},{"line_number":2945,"context_line":"    def update_volumegroup_snapshot_properties(self, ctxt, snapshots,"},{"line_number":2946,"context_line":"                                               group_snapshot\u003dNone,"}],"source_content_type":"text/x-python","patch_set":59,"id":"6dc0867e_e4d6a556","line":2943,"range":{"start_line":2943,"start_character":15,"end_line":2943,"end_character":46},"in_reply_to":"03571047_3dacfc93","updated":"2025-09-04 07:10:30.000000000","message":"They both cannot be none at any time because group_snapshot object has to be present otherwise the API itself will fail.","commit_id":"5020a4da590b85d7e445a204f0c41f848f7788b8"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"8302bb5067fd4d28a08601d208f75e8804d3d1fb","unresolved":true,"context_lines":[{"line_number":611,"context_line":"                return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"},{"line_number":612,"context_line":"                                   with_header\u003dTrue)"},{"line_number":613,"context_line":"        except exception.VolumeBackendAPIException as ex:"},{"line_number":614,"context_line":"            msg \u003d (_(\u0027Unable to fetch the volumegroupsnapshot.\\n\u0027"},{"line_number":615,"context_line":"                     \u0027Exception: %(ex)s\u0027) %"},{"line_number":616,"context_line":"                   {\u0027ex\u0027: ex})"},{"line_number":617,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":68,"id":"c6a8b6d9_77cbc5ad","line":614,"updated":"2025-09-22 12:41:35.000000000","message":"At end of this line...  %(vg)s can be added (like in line 572 above).\nthis would help to know: which volume group, the error belongs to.","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"9ec6aad495b474541ff59279eb52195b46f6cd8d","unresolved":false,"context_lines":[{"line_number":611,"context_line":"                return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"},{"line_number":612,"context_line":"                                   with_header\u003dTrue)"},{"line_number":613,"context_line":"        except exception.VolumeBackendAPIException as ex:"},{"line_number":614,"context_line":"            msg \u003d (_(\u0027Unable to fetch the volumegroupsnapshot.\\n\u0027"},{"line_number":615,"context_line":"                     \u0027Exception: %(ex)s\u0027) %"},{"line_number":616,"context_line":"                   {\u0027ex\u0027: ex})"},{"line_number":617,"context_line":"            LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":68,"id":"2ef22025_8213f004","line":614,"in_reply_to":"c6a8b6d9_77cbc5ad","updated":"2025-09-23 10:06:47.000000000","message":"This function can be called by either params[\"id\"] or params[\"volumegroup\"]. Hence i didn\u0027t add it here. In line 572 we have the parameter volumegroup_id_or_name passed in the argument itself.","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"8302bb5067fd4d28a08601d208f75e8804d3d1fb","unresolved":true,"context_lines":[{"line_number":3015,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":3016,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":3017,"context_line":"                msg \u003d (_(\"Failed to create volumegroup snapshot: \""},{"line_number":3018,"context_line":"                         \"%(snapshot_name)s\""},{"line_number":3019,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3020,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3021,"context_line":"                          \"err\": err})"}],"source_content_type":"text/x-python","patch_set":68,"id":"a483dc57_a3fa87ef","line":3018,"updated":"2025-09-22 12:41:35.000000000","message":"nit: space can be added at end of this line OR at beginning of next line","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"9ec6aad495b474541ff59279eb52195b46f6cd8d","unresolved":false,"context_lines":[{"line_number":3015,"context_line":"            except exception.VolumeBackendAPIException as err:"},{"line_number":3016,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":3017,"context_line":"                msg \u003d (_(\"Failed to create volumegroup snapshot: \""},{"line_number":3018,"context_line":"                         \"%(snapshot_name)s\""},{"line_number":3019,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3020,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3021,"context_line":"                          \"err\": err})"}],"source_content_type":"text/x-python","patch_set":68,"id":"dac4d9ce_32beb300","line":3018,"in_reply_to":"a483dc57_a3fa87ef","updated":"2025-09-23 10:06:47.000000000","message":"Addressed.","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"8302bb5067fd4d28a08601d208f75e8804d3d1fb","unresolved":true,"context_lines":[{"line_number":3076,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"},{"line_number":3077,"context_line":"                         \u0027status\u0027: fields.GroupSnapshotStatus.ERROR_DELETING})"},{"line_number":3078,"context_line":"                msg \u003d (_(\"Failed to delete volumegroup snapshot: \""},{"line_number":3079,"context_line":"                         \"%(snapshot_name)s\""},{"line_number":3080,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3081,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3082,"context_line":"                          \"err\": err})"}],"source_content_type":"text/x-python","patch_set":68,"id":"8d9d40eb_ce2cdf32","line":3079,"updated":"2025-09-22 12:41:35.000000000","message":"nit: same as line 3018","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"9ec6aad495b474541ff59279eb52195b46f6cd8d","unresolved":false,"context_lines":[{"line_number":3076,"context_line":"                        {\u0027id\u0027: snapshot[\u0027id\u0027],"},{"line_number":3077,"context_line":"                         \u0027status\u0027: fields.GroupSnapshotStatus.ERROR_DELETING})"},{"line_number":3078,"context_line":"                msg \u003d (_(\"Failed to delete volumegroup snapshot: \""},{"line_number":3079,"context_line":"                         \"%(snapshot_name)s\""},{"line_number":3080,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3081,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3082,"context_line":"                          \"err\": err})"}],"source_content_type":"text/x-python","patch_set":68,"id":"b22d0f3a_9766b8b0","line":3079,"in_reply_to":"8d9d40eb_ce2cdf32","updated":"2025-09-23 10:06:47.000000000","message":"Addressed.","commit_id":"6c5d3b1575e8246d43f7d2d099642d1195524ac1"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroupsnapshot\u0027]"},{"line_number":599,"context_line":"        # Add delimiter to parse the output"},{"line_number":600,"context_line":"        ssh_cmd.extend([\u0027-delim\u0027, \u0027!\u0027])"},{"line_number":601,"context_line":"        if \"id\" in params:"},{"line_number":602,"context_line":"            ssh_cmd.append(params[\"id\"])"},{"line_number":603,"context_line":"        elif \"name\" and \"volumegroup\" in params:"}],"source_content_type":"text/x-python","patch_set":69,"id":"9e7d9c4e_5152e23f","line":600,"updated":"2025-09-26 13:30:45.000000000","message":"Can it be included in ssh_cmd initially?","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"e8bd4ee7ec60e0876b637efa98799fe0232d8b78","unresolved":true,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroupsnapshot\u0027]"},{"line_number":599,"context_line":"        # Add delimiter to parse the output"},{"line_number":600,"context_line":"        ssh_cmd.extend([\u0027-delim\u0027, \u0027!\u0027])"},{"line_number":601,"context_line":"        if \"id\" in params:"},{"line_number":602,"context_line":"            ssh_cmd.append(params[\"id\"])"},{"line_number":603,"context_line":"        elif \"name\" and \"volumegroup\" in params:"}],"source_content_type":"text/x-python","patch_set":69,"id":"b79f5245_5c7a967d","line":600,"in_reply_to":"9e7d9c4e_5152e23f","updated":"2025-10-31 01:18:40.000000000","message":"Personally I think this is ok to make separate like it is due to the comment.  It was also just moved from down below up to here, so it\u0027s not new.\n\nBut I don\u0027t have a horse in this race beyond that feeling.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroupsnapshot\u0027]"},{"line_number":599,"context_line":"        # Add delimiter to parse the output"},{"line_number":600,"context_line":"        ssh_cmd.extend([\u0027-delim\u0027, \u0027!\u0027])"},{"line_number":601,"context_line":"        if \"id\" in params:"},{"line_number":602,"context_line":"            ssh_cmd.append(params[\"id\"])"},{"line_number":603,"context_line":"        elif \"name\" and \"volumegroup\" in params:"}],"source_content_type":"text/x-python","patch_set":69,"id":"c39136c4_70bbdced","line":600,"in_reply_to":"b79f5245_5c7a967d","updated":"2025-11-18 12:28:13.000000000","message":"Yes i just moved the line above because the storage backend\u0027s CLI got changed.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroupsnapshot\u0027]"},{"line_number":599,"context_line":"        # Add delimiter to parse the output"},{"line_number":600,"context_line":"        ssh_cmd.extend([\u0027-delim\u0027, \u0027!\u0027])"},{"line_number":601,"context_line":"        if \"id\" in params:"},{"line_number":602,"context_line":"            ssh_cmd.append(params[\"id\"])"},{"line_number":603,"context_line":"        elif \"name\" and \"volumegroup\" in params:"}],"source_content_type":"text/x-python","patch_set":69,"id":"2f5539f7_8e968ab7","line":600,"in_reply_to":"c39136c4_70bbdced","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":2932,"context_line":"    def get_volumegroup_name(group_id):"},{"line_number":2933,"context_line":"        vg \u003d storwize_const.VG_PREFIX"},{"line_number":2934,"context_line":"        group_id_str \u003d str(group_id)"},{"line_number":2935,"context_line":"        return vg + group_id_str[0:4] + \u0027-\u0027 + group_id_str[-5:]"},{"line_number":2936,"context_line":""},{"line_number":2937,"context_line":"    @staticmethod"},{"line_number":2938,"context_line":"    def get_volumegroup_snapshot_name(group_snapshot, grp_snapshot_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"13e71b4a_9cbb8049","line":2935,"updated":"2025-09-26 13:30:45.000000000","message":"Could you add short comment about pattern how volumegroup_name is generated.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":2932,"context_line":"    def get_volumegroup_name(group_id):"},{"line_number":2933,"context_line":"        vg \u003d storwize_const.VG_PREFIX"},{"line_number":2934,"context_line":"        group_id_str \u003d str(group_id)"},{"line_number":2935,"context_line":"        return vg + group_id_str[0:4] + \u0027-\u0027 + group_id_str[-5:]"},{"line_number":2936,"context_line":""},{"line_number":2937,"context_line":"    @staticmethod"},{"line_number":2938,"context_line":"    def get_volumegroup_snapshot_name(group_snapshot, grp_snapshot_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"381b050a_ca20b9e2","line":2935,"in_reply_to":"13e71b4a_9cbb8049","updated":"2025-11-18 12:28:13.000000000","message":"Acknowledged","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":2932,"context_line":"    def get_volumegroup_name(group_id):"},{"line_number":2933,"context_line":"        vg \u003d storwize_const.VG_PREFIX"},{"line_number":2934,"context_line":"        group_id_str \u003d str(group_id)"},{"line_number":2935,"context_line":"        return vg + group_id_str[0:4] + \u0027-\u0027 + group_id_str[-5:]"},{"line_number":2936,"context_line":""},{"line_number":2937,"context_line":"    @staticmethod"},{"line_number":2938,"context_line":"    def get_volumegroup_snapshot_name(group_snapshot, grp_snapshot_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"c65f46c6_a3241cc2","line":2935,"in_reply_to":"381b050a_ca20b9e2","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":2941,"context_line":"        vg_snapshot \u003d storwize_const.VG_SNAPSHOT_PREFIX"},{"line_number":2942,"context_line":"        return vg_snapshot + group_snapshot_id"},{"line_number":2943,"context_line":""},{"line_number":2944,"context_line":"    def update_volumegroup_snapshot_properties(self, ctxt, snapshots,"},{"line_number":2945,"context_line":"                                               group_snapshot\u003dNone,"},{"line_number":2946,"context_line":"                                               status\u003dNone,"},{"line_number":2947,"context_line":"                                               snapshot_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"9b894073_a5984b69","line":2944,"updated":"2025-09-26 13:30:45.000000000","message":"ctxt and group_snapshot argumets have no usages.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":2941,"context_line":"        vg_snapshot \u003d storwize_const.VG_SNAPSHOT_PREFIX"},{"line_number":2942,"context_line":"        return vg_snapshot + group_snapshot_id"},{"line_number":2943,"context_line":""},{"line_number":2944,"context_line":"    def update_volumegroup_snapshot_properties(self, ctxt, snapshots,"},{"line_number":2945,"context_line":"                                               group_snapshot\u003dNone,"},{"line_number":2946,"context_line":"                                               status\u003dNone,"},{"line_number":2947,"context_line":"                                               snapshot_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"4ede7ff7_39aa6f96","line":2944,"in_reply_to":"089ce0fb_686ae1f9","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":2941,"context_line":"        vg_snapshot \u003d storwize_const.VG_SNAPSHOT_PREFIX"},{"line_number":2942,"context_line":"        return vg_snapshot + group_snapshot_id"},{"line_number":2943,"context_line":""},{"line_number":2944,"context_line":"    def update_volumegroup_snapshot_properties(self, ctxt, snapshots,"},{"line_number":2945,"context_line":"                                               group_snapshot\u003dNone,"},{"line_number":2946,"context_line":"                                               status\u003dNone,"},{"line_number":2947,"context_line":"                                               snapshot_metadata\u003dNone):"}],"source_content_type":"text/x-python","patch_set":69,"id":"089ce0fb_686ae1f9","line":2944,"in_reply_to":"9b894073_a5984b69","updated":"2025-11-18 12:28:13.000000000","message":"It is needed by our on-prem customers as they are overriding these arguments.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":2967,"context_line":""},{"line_number":2968,"context_line":"        model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":2969,"context_line":"        snapshots_model \u003d []"},{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("}],"source_content_type":"text/x-python","patch_set":69,"id":"7914795c_22afe22e","line":2970,"updated":"2025-09-26 13:30:45.000000000","message":"Would it make sense to introduce a string enum for group_type?","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"db1fa7635a980ec13ce854153e7370f3a7c1a52a","unresolved":false,"context_lines":[{"line_number":2967,"context_line":""},{"line_number":2968,"context_line":"        model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":2969,"context_line":"        snapshots_model \u003d []"},{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("}],"source_content_type":"text/x-python","patch_set":69,"id":"c7ca0a3a_5cc23fdf","line":2970,"in_reply_to":"1384c7ca_d51f119f","updated":"2025-12-17 14:52:11.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":2967,"context_line":""},{"line_number":2968,"context_line":"        model_update \u003d {\u0027status\u0027: fields.GroupSnapshotStatus.AVAILABLE}"},{"line_number":2969,"context_line":"        snapshots_model \u003d []"},{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("}],"source_content_type":"text/x-python","patch_set":69,"id":"1384c7ca_d51f119f","line":2970,"in_reply_to":"7914795c_22afe22e","updated":"2025-11-18 12:28:13.000000000","message":"This function is receiving the group_type as direct string values from create_group_snapshot().\nIt is either volume_group_enabled or temporary_volume_group_enabled\n\nHence, i used a simple if condition to proceed as per the type.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":2974,"context_line":"                    self.get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":2975,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":2976,"context_line":"                volumegroup_name \u003d self.get_volumegroup_name("}],"source_content_type":"text/x-python","patch_set":69,"id":"6d8f52c7_1b3c5560","line":2973,"updated":"2025-09-26 13:30:45.000000000","message":"you declare params and volumegroup_snapshot_name in each if/elif branch. Would it make sense to declare them on the top of function?","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"db1fa7635a980ec13ce854153e7370f3a7c1a52a","unresolved":false,"context_lines":[{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":2974,"context_line":"                    self.get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":2975,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":2976,"context_line":"                volumegroup_name \u003d self.get_volumegroup_name("}],"source_content_type":"text/x-python","patch_set":69,"id":"dff25f93_cae163f5","line":2973,"in_reply_to":"0ae9765e_9151cd74","updated":"2025-12-17 14:52:11.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":2970,"context_line":"        if group_type \u003d\u003d \"volume_group_enabled\":"},{"line_number":2971,"context_line":"            try:"},{"line_number":2972,"context_line":"                params \u003d dict()"},{"line_number":2973,"context_line":"                volumegroup_snapshot_name \u003d ("},{"line_number":2974,"context_line":"                    self.get_volumegroup_snapshot_name(group_snapshot))"},{"line_number":2975,"context_line":"                params[\"name\"] \u003d volumegroup_snapshot_name"},{"line_number":2976,"context_line":"                volumegroup_name \u003d self.get_volumegroup_name("}],"source_content_type":"text/x-python","patch_set":69,"id":"0ae9765e_9151cd74","line":2973,"in_reply_to":"6d8f52c7_1b3c5560","updated":"2025-11-18 12:28:13.000000000","message":"Just tried to keep things segregated and more readable friendly 😊","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":2991,"context_line":"            snapshots_model \u003d self.update_volumegroup_snapshot_properties("},{"line_number":2992,"context_line":"                context, snapshots, group_snapshot\u003dgroup_snapshot,"},{"line_number":2993,"context_line":"                status\u003dmodel_update[\u0027status\u0027],"},{"line_number":2994,"context_line":"                snapshot_metadata\u003dsnapshot_metadata)"},{"line_number":2995,"context_line":"        elif group_type \u003d\u003d \"temporary_volume_group_enabled\":"},{"line_number":2996,"context_line":"            try:"},{"line_number":2997,"context_line":"                params \u003d dict()"}],"source_content_type":"text/x-python","patch_set":69,"id":"8b41337b_d417b13a","line":2994,"updated":"2025-09-26 13:30:45.000000000","message":"snapshot_metadata might be referenced before assignment if self.ssh.addsnapshot(params) would produce an error","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":2991,"context_line":"            snapshots_model \u003d self.update_volumegroup_snapshot_properties("},{"line_number":2992,"context_line":"                context, snapshots, group_snapshot\u003dgroup_snapshot,"},{"line_number":2993,"context_line":"                status\u003dmodel_update[\u0027status\u0027],"},{"line_number":2994,"context_line":"                snapshot_metadata\u003dsnapshot_metadata)"},{"line_number":2995,"context_line":"        elif group_type \u003d\u003d \"temporary_volume_group_enabled\":"},{"line_number":2996,"context_line":"            try:"},{"line_number":2997,"context_line":"                params \u003d dict()"}],"source_content_type":"text/x-python","patch_set":69,"id":"8f8b5717_0d0de119","line":2994,"in_reply_to":"8b41337b_d417b13a","updated":"2025-11-18 12:28:13.000000000","message":"Fixed the UnBounded error by declaring the snapshot_metadata before the try block so that even if addsnapshot fails and return empty, snapshots_model will not fail.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":2991,"context_line":"            snapshots_model \u003d self.update_volumegroup_snapshot_properties("},{"line_number":2992,"context_line":"                context, snapshots, group_snapshot\u003dgroup_snapshot,"},{"line_number":2993,"context_line":"                status\u003dmodel_update[\u0027status\u0027],"},{"line_number":2994,"context_line":"                snapshot_metadata\u003dsnapshot_metadata)"},{"line_number":2995,"context_line":"        elif group_type \u003d\u003d \"temporary_volume_group_enabled\":"},{"line_number":2996,"context_line":"            try:"},{"line_number":2997,"context_line":"                params \u003d dict()"}],"source_content_type":"text/x-python","patch_set":69,"id":"aff84975_99f7e0b0","line":2994,"in_reply_to":"8f8b5717_0d0de119","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":3016,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":3017,"context_line":"                msg \u003d (_(\"Failed to create volumegroup snapshot: \""},{"line_number":3018,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3019,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3020,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3021,"context_line":"                          \"err\": err})"},{"line_number":3022,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":69,"id":"ee5a0187_50c60f5e","line":3019,"updated":"2025-09-26 13:30:45.000000000","message":"volumegroup_snapshot_name - might be refferenced before assignment","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"db1fa7635a980ec13ce854153e7370f3a7c1a52a","unresolved":false,"context_lines":[{"line_number":3016,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":3017,"context_line":"                msg \u003d (_(\"Failed to create volumegroup snapshot: \""},{"line_number":3018,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3019,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3020,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3021,"context_line":"                          \"err\": err})"},{"line_number":3022,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":69,"id":"afb6a96f_30eb5490","line":3019,"in_reply_to":"44aae73a_a259dc21","updated":"2025-12-17 14:52:11.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":3016,"context_line":"                model_update[\u0027status\u0027] \u003d fields.GroupSnapshotStatus.ERROR"},{"line_number":3017,"context_line":"                msg \u003d (_(\"Failed to create volumegroup snapshot: \""},{"line_number":3018,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3019,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3020,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3021,"context_line":"                          \"err\": err})"},{"line_number":3022,"context_line":"                LOG.error(msg)"}],"source_content_type":"text/x-python","patch_set":69,"id":"44aae73a_a259dc21","line":3019,"in_reply_to":"ee5a0187_50c60f5e","updated":"2025-11-18 12:28:13.000000000","message":"The group_snapshot object has to be present for this operation to even trigger. So as the group_snapshot object will be present in every case, get_volumegroup_snapshot_name() will produce a correct value corresponding to the group_snapshot received as an argument for this operation.\n\nThere will not be a scenario where group_snapshot is not passed in this operation.","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"8340de67cf894e64a12fbd3e85f6999b688979f1","unresolved":true,"context_lines":[{"line_number":3031,"context_line":"        \"\"\"Check if volumegroup snapshot exists.\"\"\""},{"line_number":3032,"context_line":""},{"line_number":3033,"context_line":"        attrs \u003d self.ssh.lsvolumegroupsnapshot(params)"},{"line_number":3034,"context_line":"        return attrs[0] is not None"},{"line_number":3035,"context_line":""},{"line_number":3036,"context_line":"    def delete_volumegroup_snapshot(self, group_snapshot, snapshots,"},{"line_number":3037,"context_line":"                                    group_type):"}],"source_content_type":"text/x-python","patch_set":69,"id":"9913ce43_7a6879b7","line":3034,"updated":"2025-09-26 13:30:45.000000000","message":"I\u0027m not sure I understand this code properly but I see that lsvolumegroupsnapshot return object of CLIResponse\nCLIResponse has __getitem__ so it looks ok but confusing. \nFirst of all it is get index of .result property of CLIResponse. Can it be that under some conditions result will be empty list and this code produce IndexError?\n\nSecondly - Maybe worth to introduce method of CLIResponse that indicates it is empyt? eg CLIResponse.is_empty() ?","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"db1fa7635a980ec13ce854153e7370f3a7c1a52a","unresolved":false,"context_lines":[{"line_number":3031,"context_line":"        \"\"\"Check if volumegroup snapshot exists.\"\"\""},{"line_number":3032,"context_line":""},{"line_number":3033,"context_line":"        attrs \u003d self.ssh.lsvolumegroupsnapshot(params)"},{"line_number":3034,"context_line":"        return attrs[0] is not None"},{"line_number":3035,"context_line":""},{"line_number":3036,"context_line":"    def delete_volumegroup_snapshot(self, group_snapshot, snapshots,"},{"line_number":3037,"context_line":"                                    group_type):"}],"source_content_type":"text/x-python","patch_set":69,"id":"4ba9c958_23b923f9","line":3034,"in_reply_to":"3c4d3861_21354e57","updated":"2025-12-17 14:52:11.000000000","message":"Done","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":3031,"context_line":"        \"\"\"Check if volumegroup snapshot exists.\"\"\""},{"line_number":3032,"context_line":""},{"line_number":3033,"context_line":"        attrs \u003d self.ssh.lsvolumegroupsnapshot(params)"},{"line_number":3034,"context_line":"        return attrs[0] is not None"},{"line_number":3035,"context_line":""},{"line_number":3036,"context_line":"    def delete_volumegroup_snapshot(self, group_snapshot, snapshots,"},{"line_number":3037,"context_line":"                                    group_type):"}],"source_content_type":"text/x-python","patch_set":69,"id":"3c4d3861_21354e57","line":3034,"in_reply_to":"9913ce43_7a6879b7","updated":"2025-11-18 12:28:13.000000000","message":"In case the volumegroup_snapshot doesn\u0027t exist on the stoarge backend, it will be handled in the definition of lsvolumegroupsnapshot()\nOnly when the snapshot exists, is_volumegroup_snapshot_exists() will return the attributes of the first snapshot object received in \u0027attrs\u0027","commit_id":"a6d6a2ad21aa460151ebdbf7e06cae2c09fb4193"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"e8bd4ee7ec60e0876b637efa98799fe0232d8b78","unresolved":true,"context_lines":[{"line_number":605,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":608,"context_line":"            if not err:"},{"line_number":609,"context_line":"                if not out:"},{"line_number":610,"context_line":"                    return None"},{"line_number":611,"context_line":"                return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"}],"source_content_type":"text/x-python","patch_set":72,"id":"df655e9a_0830ed15","line":608,"updated":"2025-10-31 01:18:40.000000000","message":"Seems we need some handling in the event that err exists?","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":605,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":608,"context_line":"            if not err:"},{"line_number":609,"context_line":"                if not out:"},{"line_number":610,"context_line":"                    return None"},{"line_number":611,"context_line":"                return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"}],"source_content_type":"text/x-python","patch_set":72,"id":"e8e40db4_d4d6a28f","line":608,"in_reply_to":"df655e9a_0830ed15","updated":"2025-11-18 12:28:13.000000000","message":"Acknowledged","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":605,"context_line":"                            params[\"volumegroup\"]])"},{"line_number":606,"context_line":"        try:"},{"line_number":607,"context_line":"            out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"},{"line_number":608,"context_line":"            if not err:"},{"line_number":609,"context_line":"                if not out:"},{"line_number":610,"context_line":"                    return None"},{"line_number":611,"context_line":"                return CLIResponse((out, err), ssh_cmd\u003dssh_cmd, delim\u003d\u0027!\u0027,"}],"source_content_type":"text/x-python","patch_set":72,"id":"26dc8c30_6a6cd9a3","line":608,"in_reply_to":"e8e40db4_d4d6a28f","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"e8bd4ee7ec60e0876b637efa98799fe0232d8b78","unresolved":true,"context_lines":[{"line_number":3058,"context_line":"                    LOG.error(msg)"},{"line_number":3059,"context_line":"                    model_update[\u0027status\u0027] \u003d ("},{"line_number":3060,"context_line":"                        fields.GroupSnapshotStatus.ERROR_DELETING)"},{"line_number":3061,"context_line":"                    return model_update, snapshots_model"},{"line_number":3062,"context_line":""},{"line_number":3063,"context_line":"                # Delete the volume group snapshot"},{"line_number":3064,"context_line":"                self.ssh.rmsnapshot(params)"}],"source_content_type":"text/x-python","patch_set":72,"id":"bc50eb69_8a95b323","line":3061,"updated":"2025-10-31 01:18:40.000000000","message":"Why do some errors get thrown and others get returned?\n\nIt appears to be:\n1. unexpected input or similar \u003d throw\n2. storage failure \u003d return\n\nCan you confirm?","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"d525bf8e450aeb16cf2b76a0e68b6efea92d93d8","unresolved":false,"context_lines":[{"line_number":3058,"context_line":"                    LOG.error(msg)"},{"line_number":3059,"context_line":"                    model_update[\u0027status\u0027] \u003d ("},{"line_number":3060,"context_line":"                        fields.GroupSnapshotStatus.ERROR_DELETING)"},{"line_number":3061,"context_line":"                    return model_update, snapshots_model"},{"line_number":3062,"context_line":""},{"line_number":3063,"context_line":"                # Delete the volume group snapshot"},{"line_number":3064,"context_line":"                self.ssh.rmsnapshot(params)"}],"source_content_type":"text/x-python","patch_set":72,"id":"c4b4e69d_73deec41","line":3061,"in_reply_to":"6c5a662f_be5816ca","updated":"2025-11-27 06:28:25.000000000","message":"Done","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":3058,"context_line":"                    LOG.error(msg)"},{"line_number":3059,"context_line":"                    model_update[\u0027status\u0027] \u003d ("},{"line_number":3060,"context_line":"                        fields.GroupSnapshotStatus.ERROR_DELETING)"},{"line_number":3061,"context_line":"                    return model_update, snapshots_model"},{"line_number":3062,"context_line":""},{"line_number":3063,"context_line":"                # Delete the volume group snapshot"},{"line_number":3064,"context_line":"                self.ssh.rmsnapshot(params)"}],"source_content_type":"text/x-python","patch_set":72,"id":"6c5a662f_be5816ca","line":3061,"in_reply_to":"bc50eb69_8a95b323","updated":"2025-11-18 12:28:13.000000000","message":"Correct.","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"e8bd4ee7ec60e0876b637efa98799fe0232d8b78","unresolved":true,"context_lines":[{"line_number":3078,"context_line":"                msg \u003d (_(\"Failed to delete volumegroup snapshot: \""},{"line_number":3079,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3080,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3081,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3082,"context_line":"                          \"err\": err})"},{"line_number":3083,"context_line":"                LOG.error(msg)"},{"line_number":3084,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"70574d36_1943e130","line":3081,"updated":"2025-10-31 01:18:40.000000000","message":"Not as \"dangerous\" as the ones mentioned by Volodymyr, but volumegroup_snapshot_name could be accessed before assignment if get_volumegroup_snapshot_name() can throw (now or in the future).","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"5e4a98210bbf7e8459c19501e04d64c3a64827f2","unresolved":true,"context_lines":[{"line_number":3078,"context_line":"                msg \u003d (_(\"Failed to delete volumegroup snapshot: \""},{"line_number":3079,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3080,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3081,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3082,"context_line":"                          \"err\": err})"},{"line_number":3083,"context_line":"                LOG.error(msg)"},{"line_number":3084,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"d2fc4e81_22fdbe2b","line":3081,"in_reply_to":"70574d36_1943e130","updated":"2025-11-18 12:28:13.000000000","message":"The group_snapshot object has to be present for this operation to even trigger. So as the group_snapshot object will be present in every case, get_volumegroup_snapshot_name() will produce a correct value corresponding to the group_snapshot received as an argument for this operation.\n\nThere will not be a scenario where group_snapshot is not passed in this operation.","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"8b8f92603c456e6bc0f4c19207d1aadef6b121cb","unresolved":false,"context_lines":[{"line_number":3078,"context_line":"                msg \u003d (_(\"Failed to delete volumegroup snapshot: \""},{"line_number":3079,"context_line":"                         \"%(snapshot_name)s \""},{"line_number":3080,"context_line":"                         \"Error: %(err)s\")"},{"line_number":3081,"context_line":"                       % {\"snapshot_name\": volumegroup_snapshot_name,"},{"line_number":3082,"context_line":"                          \"err\": err})"},{"line_number":3083,"context_line":"                LOG.error(msg)"},{"line_number":3084,"context_line":""}],"source_content_type":"text/x-python","patch_set":72,"id":"4a2bcac0_735946b0","line":3081,"in_reply_to":"d2fc4e81_22fdbe2b","updated":"2025-11-27 06:29:01.000000000","message":"Done","commit_id":"9d6b736dc20a3b43a914565a1bfba65b63531699"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"148c732fb296e6c9bb519b4ccbaff7e17502e90e","unresolved":true,"context_lines":[{"line_number":563,"context_line":"                LOG.exception(\u0027Failed to create volumegroup.\u0027)"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    def lsvolumegroup(self, volumegroup_id_or_name):"},{"line_number":566,"context_line":"        \"\"\"Return volume group attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":567,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroup\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":568,"context_line":"                   \u0027\"%s\"\u0027 % volumegroup_id_or_name]"},{"line_number":569,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":89,"id":"f5e6c434_047f9074","line":566,"range":{"start_line":566,"start_character":42,"end_line":566,"end_character":69},"updated":"2026-01-16 15:24:33.000000000","message":"Is this still true? The old code explicitly returned None for a CMMVC5804E error, but that isn\u0027t the case any more.  Looking at _run_ssh_info and _run_ssh, it\u0027s not obvious that you\u0027d get None in this situation.  I\u0027m not sure if this is just a documentation inaccuracy, or if the code relies on None being returned by this function.","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"4cdb3f8f59b788482c80544857d792727de16201","unresolved":false,"context_lines":[{"line_number":563,"context_line":"                LOG.exception(\u0027Failed to create volumegroup.\u0027)"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    def lsvolumegroup(self, volumegroup_id_or_name):"},{"line_number":566,"context_line":"        \"\"\"Return volume group attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":567,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvolumegroup\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":568,"context_line":"                   \u0027\"%s\"\u0027 % volumegroup_id_or_name]"},{"line_number":569,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":89,"id":"daf71939_bf393acd","line":566,"range":{"start_line":566,"start_character":42,"end_line":566,"end_character":69},"in_reply_to":"f5e6c434_047f9074","updated":"2026-01-28 09:33:05.000000000","message":"This is just documentation in-accuracy. It won\u0027t return None as that is handled in run_ssh_info()","commit_id":"0e717c7a3c31d0ed58025f7fb1918369f3b1122e"}]}
