)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"276189a737d8c5f9360de6ac80c144998b5d84b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2bbf9be2_936ac60e","updated":"2025-05-23 09:03:54.000000000","message":"recheck quobyteci","commit_id":"7baaf1ac70393b932f54d5da9e4fbc7f48bf6c1a"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"7b4e1fd8170ab09e5dddf7a506b783d38693a721","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4e482b6c_37f89545","in_reply_to":"2bbf9be2_936ac60e","updated":"2025-05-23 09:06:02.000000000","message":"run-quobyteci\n\nsry for using the recheck key previously.","commit_id":"7baaf1ac70393b932f54d5da9e4fbc7f48bf6c1a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"65dfb7dc4e00ad4dc336b36201afa9ee90cbce8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"24719864_3d697fee","updated":"2025-12-11 15:30:19.000000000","message":"recheck need new logs","commit_id":"11c4e61dd30ad2b30fcd4f7e9147cd2970cf7de7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f5e8404d8a412be8e023cb5d2081e5d91d8c86cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6df3ed32_efdea443","updated":"2026-05-20 17:17:46.000000000","message":"recheck\n\nopenstack-tox-py311  timed out","commit_id":"5c1ec31273b55b125be4a70f87625c1aaacca277"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"0f6f4b6b0fc7d4e3618427fb0656fd0a905781eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dfa97fca_f701cabb","updated":"2026-06-02 14:37:24.000000000","message":"Since the NetApp CI is passed, I believe it does not have a side affect. Thanks for the code changes.","commit_id":"ce80b6ea4e100bd6778602d203917b5b7c254ff7"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"5ba3a1706716e5165196713e67f8b4cce92a28c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"044feb63_9fd119dc","updated":"2026-06-02 08:14:35.000000000","message":"run-NetApp CI","commit_id":"ce80b6ea4e100bd6778602d203917b5b7c254ff7"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"883c5c322ceec802550a78ab9a16a3373f7625b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9961a0ed_6e8518b5","updated":"2026-06-23 23:13:57.000000000","message":"Looks good to me!","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"9e4c48d3121d25d446974415c92ec4c1982bcbb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"7bb8e837_e5409c19","updated":"2026-06-23 04:21:25.000000000","message":"i am looking at current code...1)cinder/tests/unit/volume/drivers/toyou/test_acs5000.py need attention regarding eventlet. Any followup patch to take care of this test?","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6870684958227caaec827de0dfe54eabcb26dd2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1ef54683_4b4e3bdc","updated":"2026-06-16 10:13:56.000000000","message":"only concern I have is, its a big patch to review it would be nice if this could be broken into driver and tests,\nthough changes are straightforward so lgtm,","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"0dfaa07ae1742c43f5f65be047a3ed3e35ceeace","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a89110b6_099455d3","updated":"2026-06-15 14:53:01.000000000","message":"recheck want to be sure I\u0027m not getting lucky","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"ab8bb3491a0465c86627d5d92b5596e2079e7573","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1e5e38b1_d111de77","in_reply_to":"1ef54683_4b4e3bdc","updated":"2026-06-16 12:45:03.000000000","message":"I wish I could break it up, but I have to update the tests along with the driver changes to keep the unit tests passing.  This was the smallest changeset I could manage and still honor the subject of the change.","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"41f180b46faecd1a5cbfb0eefbbeb7d9bc0771a7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"a15f124a_97574f87","in_reply_to":"7bb8e837_e5409c19","updated":"2026-06-23 22:19:38.000000000","message":"https://review.opendev.org/c/openstack/cinder/+/993663","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"}],"cinder/tests/functional/functional_helpers.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"7f1fc624bd77d47662c842198aac859e4ed76a6e","unresolved":true,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        # set up services"},{"line_number":128,"context_line":"        self.volume \u003d self.start_service(\u0027volume\u0027)"},{"line_number":129,"context_line":"        # NOTE(dulek): Mocking time.sleep so test won\u0027t time out on"},{"line_number":130,"context_line":"        # scheduler service start."},{"line_number":131,"context_line":"        with mock.patch(\u0027eventlet.sleep\u0027):"},{"line_number":132,"context_line":"            self.scheduler \u003d self.start_service(\u0027scheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"2b800768_4b45068d","line":129,"range":{"start_line":129,"start_character":31,"end_line":129,"end_character":41},"updated":"2025-09-02 21:35:54.000000000","message":"Should undo this substitution for now","commit_id":"11c4e61dd30ad2b30fcd4f7e9147cd2970cf7de7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f78510841665c91cfc9b14ced3103963d34890e4","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        # set up services"},{"line_number":128,"context_line":"        self.volume \u003d self.start_service(\u0027volume\u0027)"},{"line_number":129,"context_line":"        # NOTE(dulek): Mocking time.sleep so test won\u0027t time out on"},{"line_number":130,"context_line":"        # scheduler service start."},{"line_number":131,"context_line":"        with mock.patch(\u0027eventlet.sleep\u0027):"},{"line_number":132,"context_line":"            self.scheduler \u003d self.start_service(\u0027scheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ffa329c4_31dbebf1","line":129,"range":{"start_line":129,"start_character":31,"end_line":129,"end_character":41},"in_reply_to":"2b800768_4b45068d","updated":"2026-05-26 14:43:17.000000000","message":"Done","commit_id":"11c4e61dd30ad2b30fcd4f7e9147cd2970cf7de7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a2f8535f4776c97765c9d4cd41c529fe3ef99709","unresolved":true,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        # set up services"},{"line_number":128,"context_line":"        self.volume \u003d self.start_service(\u0027volume\u0027)"},{"line_number":129,"context_line":"        # NOTE(dulek): Mocking time.sleep so test won\u0027t time out on"},{"line_number":130,"context_line":"        # scheduler service start."},{"line_number":131,"context_line":"        with mock.patch(\u0027eventlet.sleep\u0027):"},{"line_number":132,"context_line":"            self.scheduler \u003d self.start_service(\u0027scheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dea75f45_b2a19566","line":129,"range":{"start_line":129,"start_character":31,"end_line":129,"end_character":41},"updated":"2026-04-08 12:54:19.000000000","message":"```suggestion\n        # NOTE(dulek): Mocking eventlet.sleep so test won\u0027t time out on\n```","commit_id":"b7a72b422b9ffd6f6cbed62dbf221092c4f221d8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f78510841665c91cfc9b14ced3103963d34890e4","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        # set up services"},{"line_number":128,"context_line":"        self.volume \u003d self.start_service(\u0027volume\u0027)"},{"line_number":129,"context_line":"        # NOTE(dulek): Mocking time.sleep so test won\u0027t time out on"},{"line_number":130,"context_line":"        # scheduler service start."},{"line_number":131,"context_line":"        with mock.patch(\u0027eventlet.sleep\u0027):"},{"line_number":132,"context_line":"            self.scheduler \u003d self.start_service(\u0027scheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"75e0931d_4500529d","line":129,"range":{"start_line":129,"start_character":31,"end_line":129,"end_character":41},"in_reply_to":"dea75f45_b2a19566","updated":"2026-05-26 14:43:17.000000000","message":"Done","commit_id":"b7a72b422b9ffd6f6cbed62dbf221092c4f221d8"}],"cinder/tests/unit/utils.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"883c5c322ceec802550a78ab9a16a3373f7625b5","unresolved":true,"context_lines":[{"line_number":626,"context_line":"        ..."},{"line_number":627,"context_line":"        mock_time.sleep.assert_called_with(5)"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"    All other time module functions pass through to the real module."},{"line_number":630,"context_line":"    \"\"\""},{"line_number":631,"context_line":"    mock_time \u003d mock.Mock(wraps\u003dtime)"},{"line_number":632,"context_line":"    mock_time.sleep \u003d mock.Mock(name\u003d\u0027time.sleep\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1c2c253a_7fa25a36","line":629,"updated":"2026-06-23 23:13:57.000000000","message":"Thanks for the clear explanation of why you have to take this approach.","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"}],"cinder/volume/drivers/hitachi/hbsd_replication.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6870684958227caaec827de0dfe54eabcb26dd2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import time"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import greenthread"},{"line_number":23,"context_line":"from oslo_config import cfg"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils import excutils"}],"source_content_type":"text/x-python","patch_set":11,"id":"cd9c5fc4_2c91a074","line":22,"updated":"2026-06-16 10:13:56.000000000","message":"not removed because still spawn is used from greenthread","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"ab8bb3491a0465c86627d5d92b5596e2079e7573","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import json"},{"line_number":20,"context_line":"import time"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from eventlet import greenthread"},{"line_number":23,"context_line":"from oslo_config import cfg"},{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_utils import excutils"}],"source_content_type":"text/x-python","patch_set":11,"id":"c2c6f0cb_f574bdfc","line":22,"in_reply_to":"cd9c5fc4_2c91a074","updated":"2026-06-16 12:45:03.000000000","message":"Yep, I migrated uses of spawn in a separate patch: https://review.opendev.org/c/openstack/cinder/+/992786","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"}],"cinder/volume/drivers/ibm/ibm_storage/ds8k_helper.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a6870684958227caaec827de0dfe54eabcb26dd2","unresolved":false,"context_lines":[{"line_number":522,"context_line":"        for tgt_lun in tgt_luns:"},{"line_number":523,"context_line":"            tgt_lun.status \u003d \u0027checking\u0027"},{"line_number":524,"context_line":"        while True:"},{"line_number":525,"context_line":"            time.sleep(5)"},{"line_number":526,"context_line":"            for src_lun, tgt_lun in zip(src_luns, tgt_luns):"},{"line_number":527,"context_line":"                if tgt_lun.status \u003d\u003d \u0027checking\u0027:"},{"line_number":528,"context_line":"                    try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"f8867b01_341bc9ac","line":525,"updated":"2026-06-16 10:13:56.000000000","message":"wait 5 sec for polling 😯\nthis seems very dangerous for a cloud having alot of reqs/sec !!\n\n---\nnoticed fujitsu waits even for 10 sec\n\n```\ncinder/volume/drivers/fujitsu/eternus_dx/eternus_dx_common.py\n1991:            time.sleep(10)\n\n```","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"ab8bb3491a0465c86627d5d92b5596e2079e7573","unresolved":false,"context_lines":[{"line_number":522,"context_line":"        for tgt_lun in tgt_luns:"},{"line_number":523,"context_line":"            tgt_lun.status \u003d \u0027checking\u0027"},{"line_number":524,"context_line":"        while True:"},{"line_number":525,"context_line":"            time.sleep(5)"},{"line_number":526,"context_line":"            for src_lun, tgt_lun in zip(src_luns, tgt_luns):"},{"line_number":527,"context_line":"                if tgt_lun.status \u003d\u003d \u0027checking\u0027:"},{"line_number":528,"context_line":"                    try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"2e38d32d_80eb6f8e","line":525,"in_reply_to":"f8867b01_341bc9ac","updated":"2026-06-16 12:45:03.000000000","message":"Yeah... someone should definately look at that.  I found few other issues as well when making this change, will try to address some/all of these in a followup patch.  The tests mock sleep, so it should only be an issue in production, so... no big deal 😉","commit_id":"f830ca5170eb57b068f5d3d835294c3d3f2e3505"}]}
