)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"5784895646cac2a047b6e5dcc204d47793fa31cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"eb30a091_a4118dd0","updated":"2025-05-22 18:55:42.000000000","message":"I think there is a duplicate.","commit_id":"90f8abd7ed36029dac6e205ca3a252c56ef19c06"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"97fa91497e10db8e21f80d1e81a726b18fddb091","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"08d83e8e_63bb090b","updated":"2025-05-22 08:16:13.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"90f8abd7ed36029dac6e205ca3a252c56ef19c06"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"f7f0b7bae7f8b787c2db9b7c56495f1a6403ede6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"34bc11ba_aeba0337","updated":"2025-05-22 07:39:03.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"90f8abd7ed36029dac6e205ca3a252c56ef19c06"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"5ace5db3fb3009ba1f9c3554bf6ceace5e53fcb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c6590d38_685d8d3d","updated":"2025-05-22 05:43:09.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"90f8abd7ed36029dac6e205ca3a252c56ef19c06"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1f501d11_3f48c153","updated":"2025-11-23 04:25:08.000000000","message":"Also this may need a release note.","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"fb984fad8df0514120e15826716e24fc2daf934a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"723b642d_30ad685f","in_reply_to":"1f501d11_3f48c153","updated":"2026-01-29 20:27:15.000000000","message":"Done","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"31cbc99c5c6c2c61921f88bfc551bd2204f94e00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"951b3797_76bbe028","updated":"2026-02-01 19:48:37.000000000","message":"@rosmaita.fossdev@gmail.com @rajatdhasmana@gmail.com\nCould you please help in reviewing this patch.\nThank you","commit_id":"9e19ff20d5fc2baf29621b17c422697d4943d5c6"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"52d22ecd03b92b639e1fbcae17a7611524e29968","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"9cf2cf6c_2275932d","updated":"2026-02-23 07:54:10.000000000","message":"@rosmaita.fossdev@gmail.com @kajinamit@oss.nttdata.com @rajatdhasmana@gmail.com Could you please help in reviewing this patch ?","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"cf74262e634c8d4aa254596c80f9f6e6df1e8db4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"bd735639_117e6a48","updated":"2026-02-19 10:09:21.000000000","message":"recheck","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"90b3ae1cd15ce201996db47ee8f44d9d2777a887","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"e1bca066_a7290742","updated":"2026-02-19 21:32:21.000000000","message":"recheck","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"d3c9cda2e78a94f50374896003fd338c64c86ceb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"15525739_3f786a0f","updated":"2026-02-27 10:18:35.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"40fe25750e46986f468667b3298db6d02c7f17d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"f62e5d36_33e1783f","updated":"2026-02-27 07:27:58.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"61a2b032aca0cea23983f12245f42507f8cd08a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"982158e5_39c49994","updated":"2026-03-04 16:12:20.000000000","message":"recheck","commit_id":"a8e2ac4be3a630134d911975bd79e4190cca8265"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":21,"id":"b9d3b6d1_022df2f0","updated":"2026-03-11 21:04:10.000000000","message":"Most of my comments are just digging to see if there\u0027s a better way to perform certain operations, etc.  They can be ignored/deferred if you want, and I won\u0027t ding you for them (I know everyone is trying to get merged).\n\nThe -1 is for these reasons:\n1. driver.py #227: I think the name of the method called is poor given where it\u0027s executed and what it does, and should likely be renamed. \n2. driver.py #959: Just want confirmation that the scope change was intended, or it reverted back.  It does look intentional to me.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"f4ff0f85fb2ba41c0f61f12d506ceada1c450440","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"95072e4c_c09e60b5","updated":"2026-03-10 09:42:29.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"48e5c8f92ec07f1f060866c90cf8892dbc67303d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"d562460d_206e4bfa","updated":"2026-03-09 18:48:05.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"00cb4fa4_bcf087e6","in_reply_to":"b9d3b6d1_022df2f0","updated":"2026-03-12 14:13:38.000000000","message":"1. Addressed the review comment for line #227 in driver.py\n2. It is intentional. It should be inside the block.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"e1b39d20172615c19aab978fa77b6b3eebf51b11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"075cb89c_456e34ec","updated":"2026-03-13 07:30:34.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"1cee86e4b478a0b95904114f3f7d9868d26bacdc"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ae483862f1a01eb421a7b7803a140b71333d1087","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"2645729e_e13d1902","updated":"2026-03-13 13:03:03.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"1cee86e4b478a0b95904114f3f7d9868d26bacdc"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"6c47544f363dc980f280e4a2edc142bf94f94e8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"ba39fe05_3deada66","updated":"2026-03-13 06:55:45.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"1cee86e4b478a0b95904114f3f7d9868d26bacdc"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"1fbc8bbcb53771bb67a7007e35a8dc2458b83969","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"fb5b1e13_022e9918","updated":"2026-03-13 12:05:41.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"1cee86e4b478a0b95904114f3f7d9868d26bacdc"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"0dbad2145c3705f5081527c0e6d8e8f4e5933f1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"cbda1fce_32ce76f6","updated":"2026-03-13 18:03:53.000000000","message":"It looks like all my concerns (and even nitpicks) were addressed.\n\nLGTM, +1.","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8d03fbe5b521125ad1f6c6eefdf0c5dc7c0b5294","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"da0210df_93258326","updated":"2026-03-13 17:25:44.000000000","message":"recheck","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"9437d14fd2df8931092f91f8135df33dacc33ad4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"3a5a182f_a1582da2","updated":"2026-03-13 19:00:45.000000000","message":"recheck devstack-plugin-nfs-tempest-full timed out","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"43f80703e591ad1e2e2d8d3f2234b4a9c6874e4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"0782219d_65403fdd","updated":"2026-03-31 08:38:29.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"5e9ad8ea86c092eeed16df51cc8069440d400932","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"08045e54_6d933d4d","updated":"2026-03-18 05:54:50.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"111c76b13ac565b0bdf60aba8ecfaaa73f5992c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"41b58745_c07d607f","updated":"2026-03-13 13:37:31.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"bb61f5fbc76a5dd9c5d94deed204bdd55b3bb48a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"ebe75c66_9491913b","updated":"2026-03-13 14:34:24.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"b458fbdc0333de7ef7df86010e279dc680caa0ca"},{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"67edc970f4457d7f28efb04161665ffbd09dcebf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"938594aa_1f84186e","updated":"2026-04-13 08:23:39.000000000","message":"recheck devstack-plugin-nfs-tempest-full failure","commit_id":"ed3d1b21f25f62c4ce5c87fa11b3cc947062dc13"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"ac902f1b57732ee4a8bf0b9dfdbbd75a132b91b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"4586ded6_297c8eb2","updated":"2026-04-23 10:42:11.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"ed3d1b21f25f62c4ce5c87fa11b3cc947062dc13"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"31d3af104357c837754cc74db007a885530eb7e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"66c71308_47c52206","updated":"2026-04-23 10:34:53.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"ed3d1b21f25f62c4ce5c87fa11b3cc947062dc13"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"91dfaf9870355e3b62e449d83022b6d2dcf7d766","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"81277ad8_521dcaaf","updated":"2026-04-23 10:37:08.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"ed3d1b21f25f62c4ce5c87fa11b3cc947062dc13"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"80f523dfc9f011146ea03afa5ace2b72849bb3e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"f58decad_9fa28a4e","updated":"2026-04-10 06:07:10.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"ed3d1b21f25f62c4ce5c87fa11b3cc947062dc13"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ded134cdda5b44ee50f93c05bbf7a601a0801739","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"4fbc02f1_90c01a2a","updated":"2026-04-23 15:10:55.000000000","message":"recheck","commit_id":"40d7281bb52cd4766f20890eaa2d15d1c232b0db"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"2dd5f2ec74c4c2fa2a4167f451e02c560f2fdcaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"6ebe2a89_ff7476f3","updated":"2026-04-30 12:49:42.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"40d7281bb52cd4766f20890eaa2d15d1c232b0db"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"34a302247eb65e679c686b68b8fac7bf84757f49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"79eac74e_19b3159a","updated":"2026-04-24 11:41:43.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"40d7281bb52cd4766f20890eaa2d15d1c232b0db"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"346ae47dd8c7890f66f739913b47c631f80ab939","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"8f8575d1_12496119","updated":"2026-04-23 12:02:20.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"40d7281bb52cd4766f20890eaa2d15d1c232b0db"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"5db34c92dabb1e24fcc398bc08e84c5ca41cf581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"adda8160_7b304988","updated":"2026-04-24 07:31:48.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"40d7281bb52cd4766f20890eaa2d15d1c232b0db"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"eb5cfae6e33864c2aae0d9b67fb88db52a3932db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"8e3482ec_d129589e","updated":"2026-05-13 13:15:50.000000000","message":"recheck\n\ntempest-integrated-storage timed out","commit_id":"79b9a24c7ba5c6469573f54307fe2dd75b27dd74"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"353bf851d056a832aebd769e6368609069f61c11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"617740e0_2ecd095f","updated":"2026-05-12 06:44:35.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"79b9a24c7ba5c6469573f54307fe2dd75b27dd74"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"3a040c6ea4e9b839735adf65d10ad0be96827457","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"cb492f31_d449c6df","updated":"2026-05-12 13:38:10.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"79b9a24c7ba5c6469573f54307fe2dd75b27dd74"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"8560996a69509c41d96b741e6ff1e29b476b24fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"def0a1f3_c7303d28","updated":"2026-05-20 10:46:12.000000000","message":"One doubt inline","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"674d84439e969ba5cd9d36f3128ccdbcf641218d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"c51cf62f_484c6c2c","updated":"2026-05-15 05:46:07.000000000","message":"recheck","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d57bd161b6a528c0f9a6efce32b7ebba977a9fe0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"e597caaf_1ea59109","updated":"2026-05-14 17:19:29.000000000","message":"recheck\n\ntempest-integrated-storage","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"9d7f5281d0f2b358a60c12e971aac98b4092ebc6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"2a13c117_99c6234a","updated":"2026-05-21 11:20:14.000000000","message":"run-DellEMC PowerFlex CI Test","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"1b7498826ca23061aea0a2885178242fe2f3d182","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"449bfe20_b81d063d","updated":"2026-05-21 07:25:12.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"cee620c19a02ae199209b7975376becd6e53f38c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"4b5f7e1e_cd300f05","updated":"2026-05-18 07:20:13.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"f34b5682664daece792c140fadac7676318ab878","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"86aee589_c3c983ca","updated":"2026-05-21 10:29:59.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"1d8159d0bf484b2b1797e51e662f2c7ead275f62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"8b9e7c0c_7e91202f","updated":"2026-05-21 11:59:03.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"ccbabf9a_e1ac1929","updated":"2026-05-25 10:05:22.000000000","message":"-1, insufficient documentaion and test coverage","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"a90f937c1c819711a24c8052550a7a3e11f48772","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"0ec9b1fa_72e4bee7","updated":"2026-05-22 07:13:47.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"9035f9eeec995adc6bf1b470731836ddfa721c38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"19dbc191_acc4c561","updated":"2026-05-22 11:19:41.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"8c502cbdeb9b5b11a818d1c603a6931cebc0aaf7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"c77df7b1_4a7d7277","updated":"2026-05-22 08:47:11.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"250bd45f2c84e79af58ce2aa470e49033d801876","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"d54b8d10_d8e587ba","updated":"2026-05-22 11:42:20.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3c46585a3dc15e9b5070e8a5d86c80cf1d858681","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"5465a383_fbe72624","updated":"2026-05-27 12:22:04.000000000","message":"mypy failure requires https://review.opendev.org/c/openstack/cinder/+/990130 before rechecking","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"c671246636db59fbef6efbfa6841b0c719f039c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"d68e89eb_108882ea","updated":"2026-05-27 10:01:47.000000000","message":"recheck\n\nrun-DellEMC PowerFlex-v5 CI Test","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"b67f17c8f52a193a5fa78607e72cdc9048bd2aa5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"e10e9f72_895ab8c8","updated":"2026-05-27 08:01:52.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"425dbb43a2e674c308b872d7c11e34f58a20382b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"644a1f24_08eea021","updated":"2026-05-27 08:22:01.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"a677628df59b92b356eaf6a778823ff760f2f8b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"67acba23_7b8e651a","updated":"2026-05-27 06:29:14.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"479f7b63057619c9be09eb044e971ea3d1d69b3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"7dc1346a_6eb84928","updated":"2026-05-26 20:56:18.000000000","message":"run-DellEMC PowerFlex-v5 CI Test","commit_id":"b3c9313aca487458afaeb802f5c0869b62a3b730"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"3c7bf27144173fa372aa9b7d8ba4a40432b34b97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"5909d40c_146002bb","updated":"2026-06-02 08:13:56.000000000","message":"okay saw this- https://github.com/dell/dell-openstack-ci-logs/tree/main/t/openstack/build/bc6377bb40654dd48b4f3c10af11dd5f\nthis is for v5 tempest CI.\n\n\nlooked at cinder.conf: https://github.com/dell/dell-openstack-ci-logs/blob/35575cb5624c491879e22c614ec4f978d2a161f5/t/openstack/build/bc6377bb40654dd48b4f3c10af11dd5f/etc/cinder/cinder_conf.txt#L117\n\npowerflex_storage_pools \u003d PD_EC1:SP_EC1\n\nonly one storage and domain pool is set, can you please extend this. to muti domain, this do not really validate muti-domain assumption we have till now.\n\nalso is it possible to test with mulktiple backends of powerflex but with diff pools.\n\nI am not sure its already done, can you point and add (if not already) backward compatibility v4 \u003c-\u003e v5","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"371bd2294fbf17fbc86f40b78b7c4f3541b62603","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"d27a942d_f9f71188","updated":"2026-05-27 15:29:18.000000000","message":"recheck","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"c0d422fd75f895b6a83f5bdca94a689fd1fa8c3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"00c04391_1530a589","updated":"2026-05-27 15:31:37.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37792,"name":"Dell Openstack CI","display_name":"Dell Openstack CI","email":"dellopenstackci@dell.com","username":"dellopenstackci"},"change_message_id":"33ac16494fe536186954568966960b07ab5e5d0f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"f9f3eaa4_8117dff8","updated":"2026-06-01 06:11:05.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"f3ee003f_94fd51b4","updated":"2026-06-02 08:01:06.000000000","message":"thanks for the fixes, its looking better now.\n\nit would be nice if we had functional or clear tempest test (you said they are already added and passing, but I am not sure where they are written)","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"f8f1de7b3698e98ba81649262f05d72d2c14ecf1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"f5832497_09a2acd5","updated":"2026-05-28 05:57:18.000000000","message":"you should not resolve comments unless some agreement is reached in general, it stop others from looking at them","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9c52903e1b97df54ded57a52a1e8ad9ecc7cced3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"533cfa45_a4f069c9","in_reply_to":"1e213e97_91d0db8a","updated":"2026-06-02 11:59:29.000000000","message":"@auniyal@redhat.com Currently, we have hardware limitation to bring up diff pools but that config was tested earlier.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fbab7dd4218c6769acd6c550df33d585f12b79af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"bd96c471_1a1c466f","in_reply_to":"3b2eb591_967c85a5","updated":"2026-06-04 14:39:01.000000000","message":"Done","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2204be917e1dc0ccabb02ced26dd2b1bbd542303","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"b82e6eaa_42e75b48","in_reply_to":"533cfa45_a4f069c9","updated":"2026-06-02 13:05:36.000000000","message":"may be I am wrong but hw limitaion should not prevent this, you just need 2 domains with EC.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"0d6cc3cb6c50204b330e6bebab37a0bd847f0823","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"1e213e97_91d0db8a","in_reply_to":"5909d40c_146002bb","updated":"2026-06-02 09:09:57.000000000","message":"PowerFlex v4 CI job was already executed as part of this patch in the previous run : powerflex-v4-cinder-tempest https://github.com/dell/dell-openstack-ci-logs/tree/main/t/openstack/build/777458aab5c34dc185d83eb05beb5d12 : SUCCESS in 1h 35m 27s","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"61e48ffa15802b32d56a1fb5cbc759e6e3962cf2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"1a61ff70_95d3018f","in_reply_to":"b82e6eaa_42e75b48","updated":"2026-06-02 13:17:06.000000000","message":"Confirmed with internal team with the limitation of existing setup. This will require configuring \u0026 bringing up more storage nodes to configure 1 more protection domain","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"0d6cc3cb6c50204b330e6bebab37a0bd847f0823","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"5b15dfa2_17f1eea2","in_reply_to":"f3ee003f_94fd51b4","updated":"2026-06-02 09:09:57.000000000","message":"PowerFlex v5 CI job was already executed as part of this patch.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"e8d0ff1d07e26f68f203669544e2e3036fac87f0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"3b2eb591_967c85a5","in_reply_to":"f5832497_09a2acd5","updated":"2026-05-28 21:29:34.000000000","message":"Noted. Let us know of any concerns.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fbab7dd4218c6769acd6c550df33d585f12b79af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"677a4d44_e2592442","updated":"2026-06-04 14:39:01.000000000","message":"thanks for code cleanup, release notes and added tests, I wish we could add some validation about multi-domain assumptions, but I do not want to block this anymore.","commit_id":"9b75344caae487a4f5d09b3d49087115610cf767"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f67590504f5f4def54e7aa53352876d7052f34","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":36,"id":"55f5671e_7e69c732","updated":"2026-06-09 12:59:18.000000000","message":"Some comments inline.  (I\u0027m in the middle of reviewing, still have some files to look at.)","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"a39b63e5080e7aa9067ce5a9024d08f92f24fd07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"3567c7d6_092be6eb","updated":"2026-06-08 13:38:49.000000000","message":"recheck","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"f727bf44bba9e146658cc85f5d827a33ce63045a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"f4ca72f2_60c333f2","updated":"2026-06-08 06:39:25.000000000","message":"recheck","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"091ff03eb28437eb256c0b545c8efdfcd5b88c4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"75d09464_fa7072b0","updated":"2026-06-08 13:37:16.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"cad9298885e0699acca376acad930587bdc7fbab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"86723a7a_05c158dc","updated":"2026-06-08 06:40:04.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"248eb57637c39a0c159f52e8ed3e20505e83da18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"39987e8c_3e3526aa","updated":"2026-06-05 21:42:02.000000000","message":"run-DellEMC PowerFlex-v5 CI","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"06a8e59290d358f8733b4d93ab2d3fc05c6ba572","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"2797809a_450a0cad","updated":"2026-06-11 19:40:38.000000000","message":"Looks like all the other reviewers\u0027 comments have been addressed, and I don\u0027t see anything alarming.  Third-party CI hasn\u0027t responded yet, but it was green on PS 36 and there weren\u0027t any functional changes between PS 36 and 37, so I anticipate we\u0027ll get a green run eventually on this patch set.","commit_id":"63dc4c47e2995c786073efc8929479bf63cb2c15"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9f9b93938255e6a463e96374ed54110ba8d52c8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"84eca59f_24bc395d","updated":"2026-06-11 19:38:40.000000000","message":"run-DellEMC PowerFlex-v4 CI","commit_id":"63dc4c47e2995c786073efc8929479bf63cb2c15"}],"cinder/tests/unit/volume/drivers/dell_emc/powerflex/test_powerflex_client.py":[{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        result \u003d self.client.get_powerflex_gen_type(domain_name)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        assert result \u003d\u003d \"GEN3\""},{"line_number":404,"context_line":"        mock_get_domain_id.assert_called_once_with(domain_name)"},{"line_number":405,"context_line":"        mock_post.assert_called_once_with("},{"line_number":406,"context_line":"            \"/types/ProtectionDomain/instances/action/queryBySelectedIds\","}],"source_content_type":"text/x-python","patch_set":21,"id":"c88255b9_5adb82d4","line":403,"updated":"2026-03-11 21:04:10.000000000","message":"I\u0027m not going to mark them all, but I wonder if you should be using self.assertEqual() instead of just a raw assert.\n\nIf google isn\u0027t lying, self.assertEqual() (and friends) should provide better information if it triggers.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        result \u003d self.client.get_powerflex_gen_type(domain_name)"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        assert result \u003d\u003d \"GEN3\""},{"line_number":404,"context_line":"        mock_get_domain_id.assert_called_once_with(domain_name)"},{"line_number":405,"context_line":"        mock_post.assert_called_once_with("},{"line_number":406,"context_line":"            \"/types/ProtectionDomain/instances/action/queryBySelectedIds\","}],"source_content_type":"text/x-python","patch_set":21,"id":"67b8d56d_815b2efa","line":403,"in_reply_to":"c88255b9_5adb82d4","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        mock_get_domain_id.assert_called_once_with(domain_name)"},{"line_number":432,"context_line":"        mock_post.assert_called_once()"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def test_check_powerflex_ec_version_true(self):"},{"line_number":435,"context_line":"        self.client.powerflex_gen_type \u003d \"EC\""},{"line_number":436,"context_line":"        assert self.client.check_powerflex_ec_version() is True"},{"line_number":437,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"21f6eecc_2a285c4f","line":434,"updated":"2026-03-11 21:04:10.000000000","message":"Not necessary, but maybe consider using ddt to merge all four of these into a single test (you could also test all cases of \"EC\" with that as well).","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        mock_get_domain_id.assert_called_once_with(domain_name)"},{"line_number":432,"context_line":"        mock_post.assert_called_once()"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def test_check_powerflex_ec_version_true(self):"},{"line_number":435,"context_line":"        self.client.powerflex_gen_type \u003d \"EC\""},{"line_number":436,"context_line":"        assert self.client.check_powerflex_ec_version() is True"},{"line_number":437,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"d8a4f670_c9441587","line":434,"in_reply_to":"21f6eecc_2a285c4f","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":30,"id":"8fd34118_6743c680","line":1,"updated":"2026-05-25 10:05:22.000000000","message":"-1","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":30,"id":"2cf7bcbf_a3a83100","line":1,"in_reply_to":"8fd34118_6743c680","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":555,"context_line":"        (None, False),"},{"line_number":556,"context_line":"        (\"GEN3\", False),"},{"line_number":557,"context_line":"        (\"eC\", True),"},{"line_number":558,"context_line":"    )"},{"line_number":559,"context_line":"    @ddt.unpack"},{"line_number":560,"context_line":"    def test_check_powerflex_ec_version(self, gen_type, expected):"},{"line_number":561,"context_line":"        self.client.powerflex_gen_type \u003d gen_type"}],"source_content_type":"text/x-python","patch_set":30,"id":"3fba5782_60d93d8d","line":558,"updated":"2026-05-25 10:05:22.000000000","message":"what are all possible gen_type values - you mentioned mirroring or EC, \nbut tested shows 3 values ? Gen3?","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"c2e2e16a9c9f1d2ed2ec28c020153506bb9433ef","unresolved":true,"context_lines":[{"line_number":555,"context_line":"        (None, False),"},{"line_number":556,"context_line":"        (\"GEN3\", False),"},{"line_number":557,"context_line":"        (\"eC\", True),"},{"line_number":558,"context_line":"    )"},{"line_number":559,"context_line":"    @ddt.unpack"},{"line_number":560,"context_line":"    def test_check_powerflex_ec_version(self, gen_type, expected):"},{"line_number":561,"context_line":"        self.client.powerflex_gen_type \u003d gen_type"}],"source_content_type":"text/x-python","patch_set":30,"id":"9c0ea81e_32f0719b","line":558,"in_reply_to":"3fba5782_60d93d8d","updated":"2026-05-25 12:32:27.000000000","message":"Acknowledged. Possible values are EC or mirroring. Will remove GEN3.","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":555,"context_line":"        (None, False),"},{"line_number":556,"context_line":"        (\"GEN3\", False),"},{"line_number":557,"context_line":"        (\"eC\", True),"},{"line_number":558,"context_line":"    )"},{"line_number":559,"context_line":"    @ddt.unpack"},{"line_number":560,"context_line":"    def test_check_powerflex_ec_version(self, gen_type, expected):"},{"line_number":561,"context_line":"        self.client.powerflex_gen_type \u003d gen_type"}],"source_content_type":"text/x-python","patch_set":30,"id":"da7b999d_978c5b9e","line":558,"in_reply_to":"9c0ea81e_32f0719b","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":30,"id":"1782dbe8_26a04e1a","line":587,"updated":"2026-05-25 10:05:22.000000000","message":"unit test with multiple domain, having same gen_type is missing.","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"d1228aa9_9dbb140a","line":587,"in_reply_to":"1782dbe8_26a04e1a","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"badbf249e65ebc866c8fbc95bb307fdac8776c02"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[{"line_number":569,"context_line":"        mock_get_domain_id.return_value \u003d domain_id"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        mock_response \u003d mock.Mock()"},{"line_number":572,"context_line":"        mock_response.status_code \u003d http_client.INTERNAL_SERVER_ERROR"},{"line_number":573,"context_line":"        mock_post.return_value \u003d (mock_response, [])"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        ex \u003d self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":33,"id":"973fe5ca_56233f35","line":572,"updated":"2026-06-02 08:01:06.000000000","message":"+1, backend powerflex does not respond","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"61e48ffa15802b32d56a1fb5cbc759e6e3962cf2","unresolved":true,"context_lines":[{"line_number":569,"context_line":"        mock_get_domain_id.return_value \u003d domain_id"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        mock_response \u003d mock.Mock()"},{"line_number":572,"context_line":"        mock_response.status_code \u003d http_client.INTERNAL_SERVER_ERROR"},{"line_number":573,"context_line":"        mock_post.return_value \u003d (mock_response, [])"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        ex \u003d self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":33,"id":"aec3b94d_c05597ef","line":572,"in_reply_to":"8145a259_d59fbe0f","updated":"2026-06-02 13:17:06.000000000","message":"Acknowledged","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"0d6cc3cb6c50204b330e6bebab37a0bd847f0823","unresolved":true,"context_lines":[{"line_number":569,"context_line":"        mock_get_domain_id.return_value \u003d domain_id"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        mock_response \u003d mock.Mock()"},{"line_number":572,"context_line":"        mock_response.status_code \u003d http_client.INTERNAL_SERVER_ERROR"},{"line_number":573,"context_line":"        mock_post.return_value \u003d (mock_response, [])"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        ex \u003d self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":33,"id":"b8fa7dc6_2a09ff28","line":572,"in_reply_to":"973fe5ca_56233f35","updated":"2026-06-02 09:09:57.000000000","message":"Are you expecting any change here ?","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2204be917e1dc0ccabb02ced26dd2b1bbd542303","unresolved":true,"context_lines":[{"line_number":569,"context_line":"        mock_get_domain_id.return_value \u003d domain_id"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"        mock_response \u003d mock.Mock()"},{"line_number":572,"context_line":"        mock_response.status_code \u003d http_client.INTERNAL_SERVER_ERROR"},{"line_number":573,"context_line":"        mock_post.return_value \u003d (mock_response, [])"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"        ex \u003d self.assertRaises(exception.VolumeBackendAPIException,"}],"source_content_type":"text/x-python","patch_set":33,"id":"8145a259_d59fbe0f","line":572,"in_reply_to":"b8fa7dc6_2a09ff28","updated":"2026-06-02 13:05:36.000000000","message":"nope, it just mean I liked or agree with it.\nits not resolved, so other can see it too and add if they have any opinions.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"56be86ab_36c80cb1","line":618,"updated":"2026-06-02 08:01:06.000000000","message":"the current tests only validates the happy paths, where all doamins returns same gentype, we should add negative tests as well, this is also kinfd of limitation as we cant test real hardwar in functional test I guess.\n\n- can you please add test if pools have DIFFERENT gen_type - ec, mirroring, to verify error handling - assume to violate that all pools share same gen_type.\n- and a test with v4 to show backward compatibility with non-EC system","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9850c3b819a9ddd83d6e6ef0558656a57aa7ed5e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"ed593928_89613b5e","line":618,"in_reply_to":"56be86ab_36c80cb1","updated":"2026-06-02 12:56:15.000000000","message":"It is not possible to bring up a configuration which will have different gentype within the same PowerFlex system. \nThough, we can add a test for second case. But first case is not at all possible in real world scenario.\nI hope you are aligned with adding the test for second case only ?","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9e2327bfa6c9df59875399c96e62f1ae8eb5f923","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"e0b3b5f4_f769997a","line":618,"in_reply_to":"ed593928_89613b5e","updated":"2026-06-02 14:44:03.000000000","message":"Done","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"}],"cinder/tests/unit/volume/drivers/dell_emc/powerflex/test_replication.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"260c2664edde41e1bf76ac45a985d6d01c38359f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":29,"id":"7524169f_7142fb6d","line":1,"updated":"2026-05-20 09:31:32.000000000","message":"why ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":29,"id":"51ca4df7_0614c719","line":1,"in_reply_to":"505c378f_d738621e","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":29,"id":"9ce7a909_59bae555","line":1,"in_reply_to":"7524169f_7142fb6d","updated":"2026-05-21 21:35:09.000000000","message":"Any new change being added in a file should trigger copyright header update.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":29,"id":"c31bfd94_331415d7","line":1,"in_reply_to":"9ce7a909_59bae555","updated":"2026-05-25 10:05:22.000000000","message":"how its triggered ? is this update automated ?\neven so, I dont think copyright should be updated for adding mock data or minor or even big changes.\n\nthe original copyirght indicates when the code was first created., updating it is a misleading.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ea05618679f805d381c35cf90e8a6470459f3a07","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":29,"id":"505c378f_d738621e","line":1,"in_reply_to":"c31bfd94_331415d7","updated":"2026-05-25 10:34:30.000000000","message":"No, it is not automated. That was a standard practice we used to follow to update copyright header. Can we put year range, like 2023 - 2026? Would it be ok ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"}],"cinder/volume/drivers/dell_emc/powerflex/driver.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"60dbbae4_f3ced32d","line":213,"range":{"start_line":213,"start_character":23,"end_line":213,"end_character":65},"updated":"2025-11-23 04:25:08.000000000","message":"I don\u0027t see any code path which can possible cause this and this looks quite reudndant.","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"e3a7a130_95f8d6f7","line":213,"range":{"start_line":213,"start_character":23,"end_line":213,"end_character":65},"in_reply_to":"60dbbae4_f3ced32d","updated":"2026-01-29 20:26:35.000000000","message":"Acknowledged","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""}],"source_content_type":"text/x-python","patch_set":11,"id":"8b38d8a1_dd16e865","line":214,"range":{"start_line":214,"start_character":16,"end_line":214,"end_character":73},"updated":"2025-11-23 04:25:08.000000000","message":"The same is checked in https://review.opendev.org/c/openstack/cinder/+/950546/11/cinder/volume/drivers/dell_emc/powerflex/driver.py#233 . IMO we should put this new code block AFTER that check and drop this.","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""}],"source_content_type":"text/x-python","patch_set":11,"id":"8467816b_9e1c3fe8","line":214,"range":{"start_line":214,"start_character":16,"end_line":214,"end_character":73},"in_reply_to":"8b38d8a1_dd16e865","updated":"2026-01-29 20:26:35.000000000","message":"Acknowledged","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a064696_a00276c0","line":216,"range":{"start_line":216,"start_character":15,"end_line":216,"end_character":29},"updated":"2025-11-23 04:25:08.000000000","message":"This can\u0027t happen due to the nature of split.","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"33c9ade0_06fffcd4","line":216,"range":{"start_line":216,"start_character":15,"end_line":216,"end_character":29},"in_reply_to":"9a064696_a00276c0","updated":"2026-01-29 20:26:35.000000000","message":"Acknowledged","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"},{"line_number":220,"context_line":"            client.get_powerflex_gen_type(domain_name)"},{"line_number":221,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":11,"id":"c104e306_23b81cac","line":218,"range":{"start_line":217,"start_character":16,"end_line":218,"end_character":65},"updated":"2025-11-23 04:25:08.000000000","message":"The same is checked in https://review.opendev.org/c/openstack/cinder/+/950546/11/cinder/volume/drivers/dell_emc/powerflex/driver.py#238 .","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"},{"line_number":220,"context_line":"            client.get_powerflex_gen_type(domain_name)"},{"line_number":221,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":11,"id":"b557bf40_46929b08","line":218,"range":{"start_line":217,"start_character":16,"end_line":218,"end_character":65},"in_reply_to":"c104e306_23b81cac","updated":"2026-01-29 20:26:35.000000000","message":"Acknowledged","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":209,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"},{"line_number":220,"context_line":"            client.get_powerflex_gen_type(domain_name)"},{"line_number":221,"context_line":"        except Exception:"},{"line_number":222,"context_line":"            # You can log the error or handle it as needed"}],"source_content_type":"text/x-python","patch_set":11,"id":"61b32dab_026f8eb5","line":219,"range":{"start_line":212,"start_character":0,"end_line":219,"end_character":34},"updated":"2025-11-23 04:25:08.000000000","message":"You can move these lines out of try-except. It removes redundant \u0027raise ValueError and catch it\u0027","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        try:"},{"line_number":212,"context_line":"            if (not self.storage_pools"},{"line_number":213,"context_line":"                    or not isinstance(self.storage_pools[0], str)):"},{"line_number":214,"context_line":"                raise ValueError(\"storage_pools is in incorrect format.\")"},{"line_number":215,"context_line":"            parts \u003d str(self.storage_pools[0]).split(\":\")"},{"line_number":216,"context_line":"            if len(parts) \u003c 1 or not parts[0]:"},{"line_number":217,"context_line":"                raise ValueError(\"Invalid format storage_pools[0], \u0027:\u0027 not \""},{"line_number":218,"context_line":"                                 \"found or domain name missing.\")"},{"line_number":219,"context_line":"            domain_name \u003d parts[0]"},{"line_number":220,"context_line":"            client.get_powerflex_gen_type(domain_name)"},{"line_number":221,"context_line":"        except Exception:"},{"line_number":222,"context_line":"            # You can log the error or handle it as needed"}],"source_content_type":"text/x-python","patch_set":11,"id":"db1b145c_ecac452c","line":219,"range":{"start_line":212,"start_character":0,"end_line":219,"end_character":34},"in_reply_to":"61b32dab_026f8eb5","updated":"2026-01-29 20:26:35.000000000","message":"Done","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6c2918cb1eb8a04970b56e8802dc98775c5aa668","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        except Exception:"},{"line_number":222,"context_line":"            # You can log the error or handle it as needed"},{"line_number":223,"context_line":"            msg \u003d (_(\"Error occurred while getting PowerFlex gen type\"))"},{"line_number":224,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # validate that version of PowerFlex is supported"},{"line_number":227,"context_line":"        if not flex_utils.version_gte(client.query_rest_api_version(), \"2.0\"):"}],"source_content_type":"text/x-python","patch_set":11,"id":"112e03d4_15ad52ed","line":224,"range":{"start_line":224,"start_character":28,"end_line":224,"end_character":40},"updated":"2025-11-23 04:25:08.000000000","message":"IIUC this error can be caused in server side problem, so translating it to InvalidInput is confusing. Can we just raise VolumeAPI Error ? (I mean, the exception can be raised directly).","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d15562ffbf0a7b2aba4afc4c6bf7e2f57cfbad7e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        except Exception:"},{"line_number":222,"context_line":"            # You can log the error or handle it as needed"},{"line_number":223,"context_line":"            msg \u003d (_(\"Error occurred while getting PowerFlex gen type\"))"},{"line_number":224,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        # validate that version of PowerFlex is supported"},{"line_number":227,"context_line":"        if not flex_utils.version_gte(client.query_rest_api_version(), \"2.0\"):"}],"source_content_type":"text/x-python","patch_set":11,"id":"dff5bf98_c06ff3bb","line":224,"range":{"start_line":224,"start_character":28,"end_line":224,"end_character":40},"in_reply_to":"112e03d4_15ad52ed","updated":"2026-01-29 20:26:35.000000000","message":"Acknowledged","commit_id":"a82f067bc6f1e1ae35be6e07ccce0aca70a3758e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4adb54d7cd2e817814c4c773ad200db8bf07f625","unresolved":true,"context_lines":[{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        client \u003d self._get_client()"},{"line_number":632,"context_line":"        if not client.check_powerflex_ec_version():"},{"line_number":633,"context_line":"            self._check_volume_size(volume.size)"},{"line_number":634,"context_line":"        protection_domain_name, storage_pool_name \u003d ("},{"line_number":635,"context_line":"            self._extract_domain_and_pool_from_host(volume.host)"},{"line_number":636,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"8b87ac61_b2080db8","line":633,"updated":"2026-02-23 21:07:14.000000000","message":"Does this mean that on some versions of powerflex, the 8GB multiples no longer apply to volume sizes?","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d0efb7a37f59bb0ba2b7dfb0b668e8d1afe10496","unresolved":false,"context_lines":[{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        client \u003d self._get_client()"},{"line_number":632,"context_line":"        if not client.check_powerflex_ec_version():"},{"line_number":633,"context_line":"            self._check_volume_size(volume.size)"},{"line_number":634,"context_line":"        protection_domain_name, storage_pool_name \u003d ("},{"line_number":635,"context_line":"            self._extract_domain_and_pool_from_host(volume.host)"},{"line_number":636,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"31aabcc2_37962796","line":633,"in_reply_to":"5321c355_c4542029","updated":"2026-03-04 12:07:50.000000000","message":"Updated in release note.","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6bd801a08d316407a7078eb3b0819247ede5bd14","unresolved":true,"context_lines":[{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        client \u003d self._get_client()"},{"line_number":632,"context_line":"        if not client.check_powerflex_ec_version():"},{"line_number":633,"context_line":"            self._check_volume_size(volume.size)"},{"line_number":634,"context_line":"        protection_domain_name, storage_pool_name \u003d ("},{"line_number":635,"context_line":"            self._extract_domain_and_pool_from_host(volume.host)"},{"line_number":636,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"5321c355_c4542029","line":633,"in_reply_to":"74dd24d6_9aef2005","updated":"2026-03-03 17:29:24.000000000","message":"It would be good to mention this in the commit message / release note.","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"f5a28a446edda3f45a8386c2931e519980a5a53c","unresolved":true,"context_lines":[{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        client \u003d self._get_client()"},{"line_number":632,"context_line":"        if not client.check_powerflex_ec_version():"},{"line_number":633,"context_line":"            self._check_volume_size(volume.size)"},{"line_number":634,"context_line":"        protection_domain_name, storage_pool_name \u003d ("},{"line_number":635,"context_line":"            self._extract_domain_and_pool_from_host(volume.host)"},{"line_number":636,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":18,"id":"74dd24d6_9aef2005","line":633,"in_reply_to":"8b87ac61_b2080db8","updated":"2026-02-27 13:22:03.000000000","message":"PowerFlex version less than 5.0 had the requirement to have 8GB multiples but in v5 Nairobi, that is not a hard requirement.","commit_id":"79941f8670bf9a971651d74885436bd3ba16a6e2"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"5f107b37bde7a1dfeefae4b37919d9ce415c5f5d","unresolved":true,"context_lines":[{"line_number":1382,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1383,"context_line":"                   % (pool_name, r.text))"},{"line_number":1384,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1385,"context_line":"        results \u003d list(response.values())[3]"},{"line_number":1386,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1387,"context_line":"        metric_map \u003d {"},{"line_number":1388,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":19,"id":"f6f4b232_b6167044","line":1385,"updated":"2026-03-06 14:19:26.000000000","message":"hard-coded dict index; IndexError or wrong data in production. I am thinking response.get(\"results\") is better","commit_id":"a8e2ac4be3a630134d911975bd79e4190cca8265"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ef2f98fdae2a87a56c70581eea9138444b665b13","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1383,"context_line":"                   % (pool_name, r.text))"},{"line_number":1384,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1385,"context_line":"        results \u003d list(response.values())[3]"},{"line_number":1386,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1387,"context_line":"        metric_map \u003d {"},{"line_number":1388,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":19,"id":"69e96772_03486d86","line":1385,"in_reply_to":"f6f4b232_b6167044","updated":"2026-03-09 09:19:49.000000000","message":"Done","commit_id":"a8e2ac4be3a630134d911975bd79e4190cca8265"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                   {\"ratio\": self.configuration.max_over_subscription_ratio,"},{"line_number":209,"context_line":"                    \"powerflex_ratio\": POWERFLEX_MAX_OVERSUBSCRIPTION_RATIO})"},{"line_number":210,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # validate that version of PowerFlex is supported"},{"line_number":213,"context_line":"        if not flex_utils.version_gte(client.query_rest_api_version(), \"2.0\"):"},{"line_number":214,"context_line":"            # we are running against a pre-2.0.0 PowerFlex(ScaleIO) instance"}],"source_content_type":"text/x-python","patch_set":21,"id":"282c28e1_3208f4f4","line":211,"updated":"2026-03-11 21:04:10.000000000","message":"Might want to remove this to avoid merge issues.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                   {\"ratio\": self.configuration.max_over_subscription_ratio,"},{"line_number":209,"context_line":"                    \"powerflex_ratio\": POWERFLEX_MAX_OVERSUBSCRIPTION_RATIO})"},{"line_number":210,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        # validate that version of PowerFlex is supported"},{"line_number":213,"context_line":"        if not flex_utils.version_gte(client.query_rest_api_version(), \"2.0\"):"},{"line_number":214,"context_line":"            # we are running against a pre-2.0.0 PowerFlex(ScaleIO) instance"}],"source_content_type":"text/x-python","patch_set":21,"id":"86f6b2d4_fab35f29","line":211,"in_reply_to":"282c28e1_3208f4f4","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":224,"context_line":"        for pool in self.storage_pools:"},{"line_number":225,"context_line":"            try:"},{"line_number":226,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":227,"context_line":"                client.get_powerflex_gen_type(pd)"},{"line_number":228,"context_line":"            except (ValueError, IndexError):"},{"line_number":229,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":230,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":21,"id":"c5f6154e_22b24807","line":227,"updated":"2026-03-11 21:04:10.000000000","message":"This looks like it does nothing, but going into get_powerflex_gen_type, I see it has side-effects more akin to initialization.  I am wondering if this method should be renamed just so the \"next guy\" doesn\u0027t get confused.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        for pool in self.storage_pools:"},{"line_number":225,"context_line":"            try:"},{"line_number":226,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":227,"context_line":"                client.get_powerflex_gen_type(pd)"},{"line_number":228,"context_line":"            except (ValueError, IndexError):"},{"line_number":229,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":230,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":21,"id":"d52510e7_b53c6a78","line":227,"in_reply_to":"c5f6154e_22b24807","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":946,"context_line":"            qos_specs \u003d self._get_volumetype_qos(vol_or_snap)"},{"line_number":947,"context_line":"            storage_type \u003d extra_specs.copy()"},{"line_number":948,"context_line":"            storage_type.update(qos_specs)"},{"line_number":949,"context_line":"            if self._get_client().check_powerflex_ec_version():"},{"line_number":950,"context_line":"                round_volume_size \u003d vol_size"},{"line_number":951,"context_line":"            else:"},{"line_number":952,"context_line":"                round_volume_size \u003d flex_utils.round_to_num_gran(vol_size)"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa7d43b4_038ce646","line":949,"updated":"2026-03-11 21:04:10.000000000","message":"This pattern appears multiple times.  Should you extract it to a method?\n\nSomething like:\n```\ndef get_actual_vol_size(self, vol_size):\n   if self._get_client().check_powerflex_ec_version():\n       return vol_size\n   return flex_utils.round_to_num_gran(vol_size)\n```","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":946,"context_line":"            qos_specs \u003d self._get_volumetype_qos(vol_or_snap)"},{"line_number":947,"context_line":"            storage_type \u003d extra_specs.copy()"},{"line_number":948,"context_line":"            storage_type.update(qos_specs)"},{"line_number":949,"context_line":"            if self._get_client().check_powerflex_ec_version():"},{"line_number":950,"context_line":"                round_volume_size \u003d vol_size"},{"line_number":951,"context_line":"            else:"},{"line_number":952,"context_line":"                round_volume_size \u003d flex_utils.round_to_num_gran(vol_size)"}],"source_content_type":"text/x-python","patch_set":21,"id":"13106c38_3a68a6dd","line":949,"in_reply_to":"fa7d43b4_038ce646","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":956,"context_line":"            LOG.info(\"IOPS limit: %s.\", iops_limit)"},{"line_number":957,"context_line":"            LOG.info(\"Bandwidth limit: %s.\", bandwidth_limit)"},{"line_number":958,"context_line":""},{"line_number":959,"context_line":"            # Set QoS settings after map was performed"},{"line_number":960,"context_line":"            if iops_limit is not None or bandwidth_limit is not None:"},{"line_number":961,"context_line":"                self._get_client().set_sdc_limits(vol_or_snap.provider_id,"},{"line_number":962,"context_line":"                                                  sdc_id,"}],"source_content_type":"text/x-python","patch_set":21,"id":"a26f4e04_1d1cc9aa","line":959,"updated":"2026-03-11 21:04:10.000000000","message":"This was previously outside the block ```if vol_size is not None```, but is now in the block.  Was this intentional?\n\nI believe it was as it looks like a bug being outside of the block, but please confirm.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":956,"context_line":"            LOG.info(\"IOPS limit: %s.\", iops_limit)"},{"line_number":957,"context_line":"            LOG.info(\"Bandwidth limit: %s.\", bandwidth_limit)"},{"line_number":958,"context_line":""},{"line_number":959,"context_line":"            # Set QoS settings after map was performed"},{"line_number":960,"context_line":"            if iops_limit is not None or bandwidth_limit is not None:"},{"line_number":961,"context_line":"                self._get_client().set_sdc_limits(vol_or_snap.provider_id,"},{"line_number":962,"context_line":"                                                  sdc_id,"}],"source_content_type":"text/x-python","patch_set":21,"id":"7b23a712_e0e359a0","line":959,"in_reply_to":"a26f4e04_1d1cc9aa","updated":"2026-03-12 14:13:38.000000000","message":"This was intentional. It should be inside the block.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":1336,"context_line":"            total_capacity_gb, free_capacity_gb, provisioned_capacity \u003d ("},{"line_number":1337,"context_line":"                self._get_ec_queryable_statistics(pool_id, pool_name))"},{"line_number":1338,"context_line":"        else:"},{"line_number":1339,"context_line":"            url \u003d \"/types/StoragePool/instances/action/querySelectedStatistics\""},{"line_number":1340,"context_line":"            props \u003d self._get_queryable_statistics(\"StoragePool\", pool_id)"},{"line_number":1341,"context_line":"            params \u003d {\"ids\": [pool_id], \"properties\": props}"},{"line_number":1342,"context_line":"            r, response \u003d client.execute_powerflex_post_request(url, params)"}],"source_content_type":"text/x-python","patch_set":21,"id":"79d4e9e1_54a6b4ab","line":1339,"updated":"2026-03-11 21:04:10.000000000","message":"I do wonder if this should be extracted to its own method as well for readability.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":1336,"context_line":"            total_capacity_gb, free_capacity_gb, provisioned_capacity \u003d ("},{"line_number":1337,"context_line":"                self._get_ec_queryable_statistics(pool_id, pool_name))"},{"line_number":1338,"context_line":"        else:"},{"line_number":1339,"context_line":"            url \u003d \"/types/StoragePool/instances/action/querySelectedStatistics\""},{"line_number":1340,"context_line":"            props \u003d self._get_queryable_statistics(\"StoragePool\", pool_id)"},{"line_number":1341,"context_line":"            params \u003d {\"ids\": [pool_id], \"properties\": props}"},{"line_number":1342,"context_line":"            r, response \u003d client.execute_powerflex_post_request(url, params)"}],"source_content_type":"text/x-python","patch_set":21,"id":"4dcbd4c7_cd394545","line":1339,"in_reply_to":"79d4e9e1_54a6b4ab","updated":"2026-03-12 14:13:38.000000000","message":"Done","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"260c2664edde41e1bf76ac45a985d6d01c38359f","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        for pool in self.storage_pools:"},{"line_number":229,"context_line":"            try:"},{"line_number":230,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":231,"context_line":"                client.init_powerflex_gen_type(pd)"},{"line_number":232,"context_line":"            except (ValueError, IndexError):"},{"line_number":233,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":234,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":29,"id":"dca753c6_adf8caf6","line":231,"updated":"2026-05-20 09:31:32.000000000","message":"if this is something for initialization, should this be called for each pool ?\n\nthis also mean you are updating `self.powerflex_gen_type` (i.e global) value for each pool !! \nso last value will only persist and inside this I do not see any caller calling your target `check_powerflex_ec_version` where self.powerflex_gen_type is actually used.\n\n\nmay be I am missing something, but this required a functional tests to be added otherwise we might get regression, unit tests are not enough.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        for pool in self.storage_pools:"},{"line_number":229,"context_line":"            try:"},{"line_number":230,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":231,"context_line":"                client.init_powerflex_gen_type(pd)"},{"line_number":232,"context_line":"            except (ValueError, IndexError):"},{"line_number":233,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":234,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":29,"id":"9e91b6ff_1ee45b8c","line":231,"in_reply_to":"2654ad4a_adeee670","updated":"2026-05-25 10:05:22.000000000","message":"\u003e powerflex_storage_pools \u003d Domain1:Pool1,Domain2:Pool2\n\nfor `all configured storage pools` https://docs.openstack.org/cinder/2026.1/configuration/block-storage/drivers/dell-emc-powerflex-driver.html#configuration-example\n\n\n\u003e All storage pools within a single PowerFlex backend belong to the same PowerFlex system and therefore share the same generation type \n\nif this is true, so single gen_type for all domains !! okay.\nbut then it shouldn\u0027t be inside loop, right ?  there is no need to query and initialize get_type for each doamin.\n\nI think to verify that all domains will have same gen_type, you can add a test to  have a list of gen_types for each domain inside loop, again this should not be done by mocking in unit test but rather tempest test with real backend\n\n---\n\n\u003e Also, driver specific functional tests are internal which we have executed and tested.\n\ncan you please point us to them, also I wonder why there are not failing already without this change in CI - are they non-voting ?\n\n\u003e Tempest has also been performed for PowerFlex 4.x and 5.x systems.\n\ndo you mean `powerflex-v5-cinder-tempest`, ok , I do not see anything for v4, are there any v4 and v3 jobs.\n\nif this patch fixes the broken functions, tat affect v5, shouldn\u0027t  we test  backward compatibility too v3, v4 ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ea05618679f805d381c35cf90e8a6470459f3a07","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        for pool in self.storage_pools:"},{"line_number":229,"context_line":"            try:"},{"line_number":230,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":231,"context_line":"                client.init_powerflex_gen_type(pd)"},{"line_number":232,"context_line":"            except (ValueError, IndexError):"},{"line_number":233,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":234,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":29,"id":"b7fa7ae5_e1ce4ee6","line":231,"in_reply_to":"9e91b6ff_1ee45b8c","updated":"2026-05-25 10:34:30.000000000","message":"There is existing powerflex v4 job as well. We can execute it as part of this patch. Since, I mentioned already that we cannot add driver specific functional tests as part of openstack code base, That is internal. CI job is not dependent on that. Tempest covers common workflows in openstack code base.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"67b418e1d2d30977f61026f3caa786e9715a5300","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        for pool in self.storage_pools:"},{"line_number":229,"context_line":"            try:"},{"line_number":230,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":231,"context_line":"                client.init_powerflex_gen_type(pd)"},{"line_number":232,"context_line":"            except (ValueError, IndexError):"},{"line_number":233,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":234,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":29,"id":"afe7c44b_b7cf08b4","line":231,"in_reply_to":"b7fa7ae5_e1ce4ee6","updated":"2026-05-27 18:06:59.000000000","message":"PowerFlex v4 job successfully executed for this patch.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":228,"context_line":"        for pool in self.storage_pools:"},{"line_number":229,"context_line":"            try:"},{"line_number":230,"context_line":"                pd, sp \u003d pool.split(\":\")"},{"line_number":231,"context_line":"                client.init_powerflex_gen_type(pd)"},{"line_number":232,"context_line":"            except (ValueError, IndexError):"},{"line_number":233,"context_line":"                msg \u003d (_(\"Invalid storage pool name. The correct format is: \""},{"line_number":234,"context_line":"                         \"protection_domain:storage_pool. \""}],"source_content_type":"text/x-python","patch_set":29,"id":"2654ad4a_adeee670","line":231,"in_reply_to":"dca753c6_adf8caf6","updated":"2026-05-21 21:35:09.000000000","message":"All storage pools within a single PowerFlex backend belong to the same PowerFlex system and therefore share the same generation type (either \"Mirroring\" or \"EC\"). Also, driver specific functional tests are internal which we have executed and tested.\nTempest has also been performed for PowerFlex 4.x and 5.x systems.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"8560996a69509c41d96b741e6ff1e29b476b24fd","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"94a8c510_51010542","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"updated":"2026-05-20 10:46:12.000000000","message":"Is this scenario possible:\nA legacy volume was created with size 2 GB which was created as a 8GB LUN in storage array.\nNow we upgrade to Powerflex v5  and try to extend the 2GB volume to 4GB but the storage array has 8GB LUN which might/might not allow shrinking and the request could fail?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"d0b8ebee63411f1cd7ebd3f966057b5c120018fb","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"bd8eaeea_811c3295","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"297cda65_8fb5058d","updated":"2026-05-25 20:52:02.000000000","message":"Thanks for the feedback. I will update in the release notes.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ad0b38853548b7f282c9295d7339b18c39b3f009","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"297cda65_8fb5058d","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"2ce97032_9704796e","updated":"2026-05-25 20:28:16.000000000","message":"That\u0027s a bummer, backward compatibility for brownfield deployment upgrades seemed to be a good scenario to support, now operators need to deploy a greenfield setup just to use powerflex V5.\nAnyways, we should highlight the upgrade impact in the releasenote saying that V5 is not backward compatible and upgrade from V4 to V5 is not supported.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"ea05618679f805d381c35cf90e8a6470459f3a07","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"2ce97032_9704796e","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"5a896410_48813217","updated":"2026-05-25 10:34:30.000000000","message":"By word \"impacted\", we meant that these functions are impacted for PowerFlex v5 system and not the upgrade. If it is required, we can change the word \"impacted\".","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"5a896410_48813217","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"8eee36a2_bd6f3003","updated":"2026-05-25 10:05:22.000000000","message":"\u003e introduced significant API structural changes that impacted multiple Cinder driver workflows\n\n\"Impacted\" implies existing deployments! but if upgrades aren\u0027t supported, there are NO existing deployments to impact!","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"8eee36a2_bd6f3003","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"94a8c510_51010542","updated":"2026-05-21 21:35:09.000000000","message":"Upgrade from PowerFlex 4.x to 5.x is not supported.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":833,"context_line":"        if self._get_client().check_powerflex_ec_version():"},{"line_number":834,"context_line":"            if new_size \u003d\u003d volume.size:"},{"line_number":835,"context_line":"                return"},{"line_number":836,"context_line":"            volume_new_size \u003d new_size"},{"line_number":837,"context_line":"        else:"},{"line_number":838,"context_line":"            volume_new_size \u003d flex_utils.round_to_num_gran(new_size)"},{"line_number":839,"context_line":"            volume_real_old_size \u003d flex_utils.round_to_num_gran(volume.size)"}],"source_content_type":"text/x-python","patch_set":29,"id":"57332b1b_c43357cb","line":836,"range":{"start_line":836,"start_character":0,"end_line":836,"end_character":38},"in_reply_to":"bd8eaeea_811c3295","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"260c2664edde41e1bf76ac45a985d6d01c38359f","unresolved":true,"context_lines":[{"line_number":1238,"context_line":"            \"ids\": [pool_id],"},{"line_number":1239,"context_line":"            \"metrics\": requested_metrics,"},{"line_number":1240,"context_line":"        }"},{"line_number":1241,"context_line":"        r, response \u003d client.execute_powerflex_post_request("},{"line_number":1242,"context_line":"            url, params, ec_request\u003dTrue"},{"line_number":1243,"context_line":"        )"},{"line_number":1244,"context_line":"        if r.status_code !\u003d http_client.OK:"},{"line_number":1245,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1246,"context_line":"                   % (pool_name, r.text))"},{"line_number":1247,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1248,"context_line":"        results \u003d response.get(\"resources\")"},{"line_number":1249,"context_line":"        if not results:"},{"line_number":1250,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1251,"context_line":"                     \"Storage Pool %s\") % pool_name)"},{"line_number":1252,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1253,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1254,"context_line":"        metric_map \u003d {"},{"line_number":1255,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":29,"id":"630fe5cd_85d893c7","line":1252,"range":{"start_line":1241,"start_character":1,"end_line":1252,"end_character":63},"updated":"2026-05-20 09:31:32.000000000","message":"does this call, return any error msg itself on failure ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":1238,"context_line":"            \"ids\": [pool_id],"},{"line_number":1239,"context_line":"            \"metrics\": requested_metrics,"},{"line_number":1240,"context_line":"        }"},{"line_number":1241,"context_line":"        r, response \u003d client.execute_powerflex_post_request("},{"line_number":1242,"context_line":"            url, params, ec_request\u003dTrue"},{"line_number":1243,"context_line":"        )"},{"line_number":1244,"context_line":"        if r.status_code !\u003d http_client.OK:"},{"line_number":1245,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1246,"context_line":"                   % (pool_name, r.text))"},{"line_number":1247,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1248,"context_line":"        results \u003d response.get(\"resources\")"},{"line_number":1249,"context_line":"        if not results:"},{"line_number":1250,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1251,"context_line":"                     \"Storage Pool %s\") % pool_name)"},{"line_number":1252,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1253,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1254,"context_line":"        metric_map \u003d {"},{"line_number":1255,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":29,"id":"2c7be7e2_b15a3bba","line":1252,"range":{"start_line":1241,"start_character":1,"end_line":1252,"end_character":63},"in_reply_to":"1474eaf5_382a4ac6","updated":"2026-05-25 10:05:22.000000000","message":"ack, so my concern was you are correctly raising the original error when status_code is not 200/OK by including r.text.\n\nBut, when response has no resources object, the error msg does not tell us what is really happening at the backend. the resources object might be missing because Cinder asked for something that doesn\u0027t exist, or there could be other API-level errors. The manually created message here loses the original API response details.\n\ncan we include the actual response data for better debugging?\n\n```suggestion\n  results \u003d response.get(\"resources\")\n  if not results:\n      msg \u003d (_(\"No resources found in metrics response for \"\n               \"Storage Pool %s, because or like API response is: %s\") % (pool_name, response))\n      raise exception.VolumeBackendAPIException(data\u003dmsg)\n```","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":1238,"context_line":"            \"ids\": [pool_id],"},{"line_number":1239,"context_line":"            \"metrics\": requested_metrics,"},{"line_number":1240,"context_line":"        }"},{"line_number":1241,"context_line":"        r, response \u003d client.execute_powerflex_post_request("},{"line_number":1242,"context_line":"            url, params, ec_request\u003dTrue"},{"line_number":1243,"context_line":"        )"},{"line_number":1244,"context_line":"        if r.status_code !\u003d http_client.OK:"},{"line_number":1245,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1246,"context_line":"                   % (pool_name, r.text))"},{"line_number":1247,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1248,"context_line":"        results \u003d response.get(\"resources\")"},{"line_number":1249,"context_line":"        if not results:"},{"line_number":1250,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1251,"context_line":"                     \"Storage Pool %s\") % pool_name)"},{"line_number":1252,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1253,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1254,"context_line":"        metric_map \u003d {"},{"line_number":1255,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":29,"id":"8d0ed81b_5f759141","line":1252,"range":{"start_line":1241,"start_character":1,"end_line":1252,"end_character":63},"in_reply_to":"2c7be7e2_b15a3bba","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":1238,"context_line":"            \"ids\": [pool_id],"},{"line_number":1239,"context_line":"            \"metrics\": requested_metrics,"},{"line_number":1240,"context_line":"        }"},{"line_number":1241,"context_line":"        r, response \u003d client.execute_powerflex_post_request("},{"line_number":1242,"context_line":"            url, params, ec_request\u003dTrue"},{"line_number":1243,"context_line":"        )"},{"line_number":1244,"context_line":"        if r.status_code !\u003d http_client.OK:"},{"line_number":1245,"context_line":"            msg \u003d (_(\"Failed to query stats for Storage Pool %s: %s\")"},{"line_number":1246,"context_line":"                   % (pool_name, r.text))"},{"line_number":1247,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1248,"context_line":"        results \u003d response.get(\"resources\")"},{"line_number":1249,"context_line":"        if not results:"},{"line_number":1250,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1251,"context_line":"                     \"Storage Pool %s\") % pool_name)"},{"line_number":1252,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1253,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1254,"context_line":"        metric_map \u003d {"},{"line_number":1255,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":29,"id":"1474eaf5_382a4ac6","line":1252,"range":{"start_line":1241,"start_character":1,"end_line":1252,"end_character":63},"in_reply_to":"630fe5cd_85d893c7","updated":"2026-05-21 21:35:09.000000000","message":"Yes, it does return an error message on its own.\nThe final error message would be:\n\"Bad or unexpected response from the storage volume backend API: No resources found in metrics response for Storage Pool \u003cpool_name\u003e\"","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017-2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":33,"id":"84d3831f_a5e074d4","line":2,"updated":"2026-06-02 08:01:06.000000000","message":"-1, continuing on previous discussion, so will you update this every year ?\n\nunless there\u0027s a specific Dell policy requiring annual updates, the standard practive in OSP or opensource is to only update copyright when company name change or major rewrites.\n\nif that\u0027s the case `EMC Corporation -\u003e Dell Inc. or its subsidiaries (ref test_misc)` I suggest to create separate patch to correct this in all files - there we can have this discussion.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9e2327bfa6c9df59875399c96e62f1ae8eb5f923","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017-2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":33,"id":"96343472_391bda68","line":2,"in_reply_to":"84d3831f_a5e074d4","updated":"2026-06-02 14:44:03.000000000","message":"For now, I have reverted the copyright changes. We can plan any copyright changes in a separate patch.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fbab7dd4218c6769acd6c550df33d585f12b79af","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017-2026 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":33,"id":"d8f9da60_be4e5380","line":2,"in_reply_to":"96343472_391bda68","updated":"2026-06-04 14:39:01.000000000","message":"Done","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"78d48f53_286cec86","line":229,"updated":"2026-06-02 08:01:06.000000000","message":"ack, as all pools share the same gen_type, so checking for first one only is enough, and this gen_type will set for all req.\n\nthough still I have doubt, what happend if diff gentype ! does powerflex somehow prevent this conf or should this driver detest and throw error?\nclear tempest job would be nice to see difference.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f67590504f5f4def54e7aa53352876d7052f34","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"e2f1a565_238adddd","line":229,"in_reply_to":"2d2510e5_cd128d18","updated":"2026-06-09 12:59:18.000000000","message":"I think Amit\u0027s suggestion is a good one for Dell future testing to verify that you won\u0027t run into problems when a customer uses multiple domains, so while I won\u0027t hold up this patch over it, you might want to begin negotiations with your internal team so that you can run more thorough CI for yourselves.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"0d6cc3cb6c50204b330e6bebab37a0bd847f0823","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"98980466_5ab98be4","line":229,"in_reply_to":"78d48f53_286cec86","updated":"2026-06-02 09:09:57.000000000","message":"Diff gentype is not possible. A powerflex system having multiple pools will strictly share the same gentype.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2204be917e1dc0ccabb02ced26dd2b1bbd542303","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"f4f03f38_1db058f9","line":229,"in_reply_to":"98980466_5ab98be4","updated":"2026-06-02 13:05:36.000000000","message":"yep thats clear already, but here I am suggesting to validate it, by adding a  test with multi-domain code path - update the tempest config to use 2+ domains (both with the same gentype).\nthe current CI only tests single-domain (PD_EC1:SP_EC1), testing multi-domain would validate the driver  (this patch) handles multiple domains correctly, even if they all have the same gentype.\n\nhw limitaion should not prevent this, you just need 2 domains with EC not diff gentype.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"a7cda5854d61d95fc0ea73ddc8cab8ab233cf212","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"7f70b88f_1b6e5933","line":229,"in_reply_to":"e2f1a565_238adddd","updated":"2026-06-09 20:48:54.000000000","message":"Sure. Will follow up with the internal team about the setup.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"61e48ffa15802b32d56a1fb5cbc759e6e3962cf2","unresolved":true,"context_lines":[{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"},{"line_number":231,"context_line":"        for pool in self.storage_pools:"},{"line_number":232,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":33,"id":"2d2510e5_cd128d18","line":229,"in_reply_to":"f4f03f38_1db058f9","updated":"2026-06-02 13:17:06.000000000","message":"Confirmed with internal team about the limitation of existing setup. This will require configuring \u0026 bringing up more storage nodes to configure 1 more protection domain. Currently, we have only one storage pool and protection domain configured with the existing setup.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[{"line_number":1252,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1253,"context_line":"                     \"Storage Pool %(pool)s. Response data: %(response)s\")"},{"line_number":1254,"context_line":"                   % {\"pool\": pool_name, \"response\": response})"},{"line_number":1255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1256,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1257,"context_line":"        metric_map \u003d {"},{"line_number":1258,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":33,"id":"81e887fc_b61d58e8","line":1255,"updated":"2026-06-02 08:01:06.000000000","message":"+1","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"0d6cc3cb6c50204b330e6bebab37a0bd847f0823","unresolved":true,"context_lines":[{"line_number":1252,"context_line":"            msg \u003d (_(\"No resources found in metrics response for \""},{"line_number":1253,"context_line":"                     \"Storage Pool %(pool)s. Response data: %(response)s\")"},{"line_number":1254,"context_line":"                   % {\"pool\": pool_name, \"response\": response})"},{"line_number":1255,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":1256,"context_line":"        metrics_data \u003d results[0][\"metrics\"]"},{"line_number":1257,"context_line":"        metric_map \u003d {"},{"line_number":1258,"context_line":"            m[\"name\"]: flex_utils.convert_bytes_to_gib(m[\"values\"][0])"}],"source_content_type":"text/x-python","patch_set":33,"id":"05eed8a9_3a06e877","line":1255,"in_reply_to":"81e887fc_b61d58e8","updated":"2026-06-02 09:09:57.000000000","message":"?","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f67590504f5f4def54e7aa53352876d7052f34","unresolved":true,"context_lines":[{"line_number":224,"context_line":"            msg \u003d (_(\"Must specify storage pools. \""},{"line_number":225,"context_line":"                     \"Option: powerflex_storage_pools.\"))"},{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"}],"source_content_type":"text/x-python","patch_set":36,"id":"726f6405_17374d35","line":227,"updated":"2026-06-09 12:59:18.000000000","message":"Given your discussion with Amit about this on PS 33, it would be worth enhancing this comment to say that this check is sufficient given that the backend enforces a consistent gentype across all pools","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"a7cda5854d61d95fc0ea73ddc8cab8ab233cf212","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            msg \u003d (_(\"Must specify storage pools. \""},{"line_number":225,"context_line":"                     \"Option: powerflex_storage_pools.\"))"},{"line_number":226,"context_line":"            raise exception.InvalidInput(reason\u003dmsg)"},{"line_number":227,"context_line":"        # initialize generation type from the first pool\u0027s protection domain"},{"line_number":228,"context_line":"        first_pd \u003d self.storage_pools[0].split(\":\")[0]"},{"line_number":229,"context_line":"        client.init_powerflex_gen_type(first_pd)"},{"line_number":230,"context_line":"        # validate the storage pools and check if zero padding is enabled"}],"source_content_type":"text/x-python","patch_set":36,"id":"05ad43a1_e79f6b1a","line":227,"in_reply_to":"726f6405_17374d35","updated":"2026-06-09 20:48:54.000000000","message":"Done","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f67590504f5f4def54e7aa53352876d7052f34","unresolved":true,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        provider_id \u003d client.snapshot_volume(source.provider_id,"},{"line_number":784,"context_line":"                                             volume.id,"},{"line_number":785,"context_line":"                                             True)"},{"line_number":786,"context_line":"        model_updates \u003d {"},{"line_number":787,"context_line":"            \"provider_id\": provider_id,"},{"line_number":788,"context_line":"            \"replication_status\": fields.ReplicationStatus.DISABLED,"}],"source_content_type":"text/x-python","patch_set":36,"id":"5943a7eb_e55dcb13","line":785,"range":{"start_line":785,"start_character":45,"end_line":785,"end_character":49},"updated":"2026-06-09 12:59:18.000000000","message":"nit: it would be really helpful to call this as from_source\u003dTrue to give the reader some idea of what this means","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"a7cda5854d61d95fc0ea73ddc8cab8ab233cf212","unresolved":false,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        provider_id \u003d client.snapshot_volume(source.provider_id,"},{"line_number":784,"context_line":"                                             volume.id,"},{"line_number":785,"context_line":"                                             True)"},{"line_number":786,"context_line":"        model_updates \u003d {"},{"line_number":787,"context_line":"            \"provider_id\": provider_id,"},{"line_number":788,"context_line":"            \"replication_status\": fields.ReplicationStatus.DISABLED,"}],"source_content_type":"text/x-python","patch_set":36,"id":"395838e3_6f105db5","line":785,"range":{"start_line":785,"start_character":45,"end_line":785,"end_character":49},"in_reply_to":"5943a7eb_e55dcb13","updated":"2026-06-09 20:48:54.000000000","message":"Done","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"}],"cinder/volume/drivers/dell_emc/powerflex/rest_client.py":[{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"20d73b89ea011924a5b763e817f4a90b0effbf38","unresolved":true,"context_lines":[{"line_number":886,"context_line":"            msg \u003d (_(\"Failed to query gen type of powerflex with \""},{"line_number":887,"context_line":"                     \"protection domain id %s.\") % domain_id)"},{"line_number":888,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":889,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":890,"context_line":"        return self.powerflex_gen_type"},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"67e77142_5426450f","line":889,"updated":"2026-03-11 21:04:10.000000000","message":"Should you make sure there is response data as well?  Probably a non-issue, but if the server can ever return nothing this would throw with a nondescript error.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9a859294c3de9dbf4247e2bce6952e7a6152b70d","unresolved":false,"context_lines":[{"line_number":886,"context_line":"            msg \u003d (_(\"Failed to query gen type of powerflex with \""},{"line_number":887,"context_line":"                     \"protection domain id %s.\") % domain_id)"},{"line_number":888,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":889,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":890,"context_line":"        return self.powerflex_gen_type"},{"line_number":891,"context_line":""},{"line_number":892,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":21,"id":"80a8eeba_b6025716","line":889,"in_reply_to":"67e77142_5426450f","updated":"2026-03-12 14:13:38.000000000","message":"Ideally, the storage array should return gen_type in this case. If it does not, then there should be the issue in storage config. But still I have added defensive check.","commit_id":"75c1ad896df6e4a6331f64718c66916dd895f6b2"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"260c2664edde41e1bf76ac45a985d6d01c38359f","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":68,"context_line":"        self.powerflex_gen_type \u003d None"},{"line_number":69,"context_line":"        self.base_ec_url \u003d None"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _get_headers():"},{"line_number":73,"context_line":"        return {\"content-type\": \"application/json\"}"}],"source_content_type":"text/x-python","patch_set":29,"id":"e379a431_bf300ed4","line":70,"updated":"2026-05-20 09:31:32.000000000","message":"is there a Dell doc which speak about these ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"c2e2e16a9c9f1d2ed2ec28c020153506bb9433ef","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":68,"context_line":"        self.powerflex_gen_type \u003d None"},{"line_number":69,"context_line":"        self.base_ec_url \u003d None"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _get_headers():"},{"line_number":73,"context_line":"        return {\"content-type\": \"application/json\"}"}],"source_content_type":"text/x-python","patch_set":29,"id":"a2128388_7e26fddd","line":70,"in_reply_to":"20def60c_e491fafc","updated":"2026-05-25 12:32:27.000000000","message":"Please refer the following link : https://developer.dell.com/apis/4008/versions/5.0.0/query-protection-domain-instances-271538e0\n200 response is having two possible values of genType : EC or Mirroring.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fd59b4c31049c53be99bc9c89255d52482f9a4c2","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":68,"context_line":"        self.powerflex_gen_type \u003d None"},{"line_number":69,"context_line":"        self.base_ec_url \u003d None"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _get_headers():"},{"line_number":73,"context_line":"        return {\"content-type\": \"application/json\"}"}],"source_content_type":"text/x-python","patch_set":29,"id":"20def60c_e491fafc","line":70,"in_reply_to":"80a5aca3_71c99514","updated":"2026-05-25 10:05:22.000000000","message":"yes, I was hoping for more details or a doc ref in release notes or commit msg\nthis entire patch revolve around powerflex_gen_type and v5.0 API changes, it would be nice to know what it is, what value it can have and how it affects API routing.\n\ncan you add a link to relevant Dell docs for refrence","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":68,"context_line":"        self.powerflex_gen_type \u003d None"},{"line_number":69,"context_line":"        self.base_ec_url \u003d None"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _get_headers():"},{"line_number":73,"context_line":"        return {\"content-type\": \"application/json\"}"}],"source_content_type":"text/x-python","patch_set":29,"id":"37f365c7_3cd9ea42","line":70,"in_reply_to":"a2128388_7e26fddd","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        self.rest_api_read_timeout \u003d 30"},{"line_number":68,"context_line":"        self.powerflex_gen_type \u003d None"},{"line_number":69,"context_line":"        self.base_ec_url \u003d None"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _get_headers():"},{"line_number":73,"context_line":"        return {\"content-type\": \"application/json\"}"}],"source_content_type":"text/x-python","patch_set":29,"id":"80a5aca3_71c99514","line":70,"in_reply_to":"e379a431_bf300ed4","updated":"2026-05-21 21:35:09.000000000","message":"Are you referring to powerflex_gen_type ?","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34598,"name":"Manojkatari","email":"mkatari@redhat.com","username":"mkatari"},"change_message_id":"8bef674185d36c208dcd46d156628aea6fa3aa26","unresolved":true,"context_lines":[{"line_number":594,"context_line":"            self.configuration.powerflex_round_volume_capacity"},{"line_number":595,"context_line":"        )"},{"line_number":596,"context_line":"        if not round_volume_capacity and not new_size % 8 \u003d\u003d 0:"},{"line_number":597,"context_line":"            LOG.warning(\"PowerFlex only supports volumes with a granularity \""},{"line_number":598,"context_line":"                        \"of 8 GBs. The new volume size is: %d.\","},{"line_number":599,"context_line":"                        new_size)"},{"line_number":600,"context_line":"        params \u003d {\"sizeInGB\": str(new_size)}"}],"source_content_type":"text/x-python","patch_set":29,"id":"cd205bc6_4ee4afe8","line":597,"updated":"2026-05-20 07:42:29.000000000","message":"This warning contradicts the statement in release notes  \"PowerFlex 5.0 no longer requires volume sizes to be in 8 GB multiples. Previous versions (\u003c 5.0) had this\nhard requirement, but it has been relaxed in v5.\"\n\nEither this warning should be removed for 5.0 or make it conditional for powerflex \u003c5.0.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":594,"context_line":"            self.configuration.powerflex_round_volume_capacity"},{"line_number":595,"context_line":"        )"},{"line_number":596,"context_line":"        if not round_volume_capacity and not new_size % 8 \u003d\u003d 0:"},{"line_number":597,"context_line":"            LOG.warning(\"PowerFlex only supports volumes with a granularity \""},{"line_number":598,"context_line":"                        \"of 8 GBs. The new volume size is: %d.\","},{"line_number":599,"context_line":"                        new_size)"},{"line_number":600,"context_line":"        params \u003d {\"sizeInGB\": str(new_size)}"}],"source_content_type":"text/x-python","patch_set":29,"id":"2556ce6e_7a61db80","line":597,"in_reply_to":"cd205bc6_4ee4afe8","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"260c2664edde41e1bf76ac45a985d6d01c38359f","unresolved":true,"context_lines":[{"line_number":936,"context_line":"       END - Methods for NVMe-TCP support"},{"line_number":937,"context_line":"    \"\"\""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"    def init_powerflex_gen_type(self, domain_name):"},{"line_number":940,"context_line":"        domain_id \u003d self._get_protection_domain_id(domain_name)"},{"line_number":941,"context_line":"        url \u003d \"/types/ProtectionDomain/instances/action/queryBySelectedIds\""},{"line_number":942,"context_line":"        params \u003d {\"ids\": [domain_id]}"}],"source_content_type":"text/x-python","patch_set":29,"id":"7c431a3d_bcf8af7d","line":939,"updated":"2026-05-20 09:31:32.000000000","message":"can you add  func doc string of what this does ?\nas I dont see returned `self.powerflex_gen_type` being used directly, atleast in this patch.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"042d84b9bc4cf4e4628dd91804229fe0b1bfed2f","unresolved":true,"context_lines":[{"line_number":936,"context_line":"       END - Methods for NVMe-TCP support"},{"line_number":937,"context_line":"    \"\"\""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"    def init_powerflex_gen_type(self, domain_name):"},{"line_number":940,"context_line":"        domain_id \u003d self._get_protection_domain_id(domain_name)"},{"line_number":941,"context_line":"        url \u003d \"/types/ProtectionDomain/instances/action/queryBySelectedIds\""},{"line_number":942,"context_line":"        params \u003d {\"ids\": [domain_id]}"}],"source_content_type":"text/x-python","patch_set":29,"id":"f17f4ca4_62c6a377","line":939,"in_reply_to":"7c431a3d_bcf8af7d","updated":"2026-05-21 21:35:09.000000000","message":"Sure, I will add doc string.","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"8500fa60a75be42834841d87d61447ab3433d24e","unresolved":false,"context_lines":[{"line_number":936,"context_line":"       END - Methods for NVMe-TCP support"},{"line_number":937,"context_line":"    \"\"\""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"    def init_powerflex_gen_type(self, domain_name):"},{"line_number":940,"context_line":"        domain_id \u003d self._get_protection_domain_id(domain_name)"},{"line_number":941,"context_line":"        url \u003d \"/types/ProtectionDomain/instances/action/queryBySelectedIds\""},{"line_number":942,"context_line":"        params \u003d {\"ids\": [domain_id]}"}],"source_content_type":"text/x-python","patch_set":29,"id":"589225d9_43d74cf1","line":939,"in_reply_to":"f17f4ca4_62c6a377","updated":"2026-05-27 07:30:39.000000000","message":"Done","commit_id":"8d3fce2ad3e648e55c7e1de0edd00dd3b55310a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0ab67057997278b5fb68a09f774653628ea2d2f4","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"5d44fad7_5b108708","line":965,"updated":"2026-06-02 08:01:06.000000000","message":"I thought it mean, EC mode is not enabled! so call it mirroring.\nI wonder if this should be documented in releasenote or openstack-powerflex doc (if exists) if no gentype is set, then its mirroring.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"2204be917e1dc0ccabb02ced26dd2b1bbd542303","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"d03a79bd_e8342ee4","line":965,"in_reply_to":"05ff1284_dc902ff0","updated":"2026-06-02 13:05:36.000000000","message":"may be others can see this better -but its not clear to me, neither doc link is attached in release notes.\n\nyou had shared this link [1] earlier which seems for v5, and you are requesting a GET call for `/api/types/ProtectionDomain/instances` and it return 200, with below obj description instead of real object having clear values\n\n```\n[\n  {\n    \"id\": \"string\",\n    \"nName\": \"string\",\n    \"protectionDomainState\": \"string\",\n    \"rebuildNetworkThrottlingEnabled\": false,\n    \"rebalanceNetworkThrottlingEnabled\": false,\n    \"overallIoNetworkThrottlingEnabled\": false,\n    \"rebuildNetworkThrottlingInKbps\": 0,\n    \"rebalanceNetworkThrottlingInKbps\": 0,\n    \"overallIoNetworkThrottlingInKbps\": 0,\n    \"systemId\": \"string\",\n    \"genType\": \"string\",\n    \"protectedMaintenanceModeNetworkThrottlingEnabled\": false,\n    \"protectedMaintenanceModeNetworkThrottlingInKbps\": 0,\n    \"overallConcurrentIoLimit\": 0,\n    \"bandwidthLimitOverallIos\": 0,\n    \"bandwidthLimitBgDevScanner\": 0,\n    \"bandwidthLimitGarbageCollector\": 0,\n    \"bandwidthLimitDoublyImpactedRebuild\": 0,\n    \"bandwidthLimitRebalance\": 0,\n    \"bandwidthLimitOther\": 0,\n    \"bandwidthLimitNodeNetwork\": 0\n  }\n]\n```\n\nI dont see how this help, may be I need to navigate more to find the clear difference, but what we need is, \n1- what are the valid value of gen-type.\n2- what happens in v4, you mentioned `v4 stands for Mirroring`, does it mean, v4 doesnt return gen-type field at all so here by default set to Mirroring.\nor is it only present in v5?\n3-docs for operators! where sould operators look to understand, what gen-type there sytem is using, what the diff betwween EC and mirroring, why upgrading from v4 to v5 break things ?\n\nis it poosible to find such doc and update the link in release note if exists, or brief explaination of gentype is only present v5 (as its only added in this patch), v4 systems dont have this field ans so use Mirroring mode by default (or along those lines, which ever is correct)\n\n\n\n[1] https://developer.dell.com/apis/4008/versions/5.0.0/query-protection-domain-instances-271538e0","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"fbab7dd4218c6769acd6c550df33d585f12b79af","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"46cabd89_af8e978f","line":965,"in_reply_to":"143e0139_743abf4f","updated":"2026-06-04 14:39:01.000000000","message":"thanks for updating release notes, I was hoping for dell link but sure if its not available.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"5f05884ec01dbbdbc4c075ec2afc77ab56cf5ae4","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"05ff1284_dc902ff0","line":965,"in_reply_to":"5d44fad7_5b108708","updated":"2026-06-02 09:22:41.000000000","message":"This is actually the API response. genType is internal to the API response. v4 stands for \"Mirroring\". I think we have stated that in the release notes. Please let me know if you need any further update in the notes.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"9e2327bfa6c9df59875399c96e62f1ae8eb5f923","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"143e0139_743abf4f","line":965,"in_reply_to":"c4140266_f94d87d1","updated":"2026-06-02 14:44:03.000000000","message":"Release notes updated.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"efccc0ca2ad02e1483ae9e9bdf200ab137fc970b","unresolved":true,"context_lines":[{"line_number":962,"context_line":"            msg \u003d (_(\"No protection domain data returned for \""},{"line_number":963,"context_line":"                     \"domain id %s.\") % domain_id)"},{"line_number":964,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":965,"context_line":"        self.powerflex_gen_type \u003d response[0].get(\u0027genType\u0027, \u0027Mirroring\u0027)"},{"line_number":966,"context_line":"        return self.powerflex_gen_type"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"    def check_powerflex_ec_version(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"c4140266_f94d87d1","line":965,"in_reply_to":"d03a79bd_e8342ee4","updated":"2026-06-02 14:18:29.000000000","message":"In this link, https://developer.dell.com/apis/4008/versions/5.0.0/query-protection-domain-instances-271538e0 , expand Responses -\u003e 200 OK -\u003e Response Body -\u003e genType.\nTwo possible values will be shown here which answers the first question about valid values of genType.\n\nv4 does not return genType field but it is based on Mirroring architecture, So, we fill Mirroring for genType field in case of 4.x.\nUpgrade from v4,x to v5.0 is not possible. As of now, only 5.0 is out in the field but it may happen that upgrade from v4.x to later versions of v5.x may get supported. But as of now, upgrade from v4.x to v5.0 is not supported since 4.x is based on Mirroring architecture and 5.0 is based on EC architecture.\n\nChecked with internal team and there is no other documentation available currently. I will update in release notes.","commit_id":"3d47f946bcc8c5771e20c00e7f1355b61a90573e"}],"releasenotes/notes/bug-2139336-dell-powerflex-nairobi-fixes-ad89e69dc3bb44c5.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4f67590504f5f4def54e7aa53352876d7052f34","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2139336\u003e`_: Fixed"},{"line_number":6,"context_line":"    PowerFlex 5.0 issues pertaining to driver"},{"line_number":7,"context_line":"    initialization, volume creation, snapshot operations,"},{"line_number":8,"context_line":"    source‑based provisioning, backup handling"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    PowerFlex 5.0 no longer requires volume sizes"},{"line_number":11,"context_line":"    to be in 8 GB multiples. Previous versions (\u003c 5.0) had this"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"1c65207f_3e6fbea4","line":8,"updated":"2026-06-09 12:59:18.000000000","message":"nit: should be a period at the end of line 8","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"},{"author":{"_account_id":37784,"name":"Abhishek Gupta","display_name":"Abhishek Gupta","email":"Abhishek_Gupta14@Dell.com","username":"abhishek-gupta14"},"change_message_id":"a7cda5854d61d95fc0ea73ddc8cab8ab233cf212","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    \u003chttps://bugs.launchpad.net/cinder/+bug/2139336\u003e`_: Fixed"},{"line_number":6,"context_line":"    PowerFlex 5.0 issues pertaining to driver"},{"line_number":7,"context_line":"    initialization, volume creation, snapshot operations,"},{"line_number":8,"context_line":"    source‑based provisioning, backup handling"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    PowerFlex 5.0 no longer requires volume sizes"},{"line_number":11,"context_line":"    to be in 8 GB multiples. Previous versions (\u003c 5.0) had this"}],"source_content_type":"text/x-yaml","patch_set":36,"id":"dc110337_0e94e0e6","line":8,"in_reply_to":"1c65207f_3e6fbea4","updated":"2026-06-09 20:48:54.000000000","message":"Done","commit_id":"ef4899f2973140543f33b5fdd839fc22b6228b82"}]}
