)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3131e8dce41acf1225ff5cc919943d9a20471bc4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a48a7ecf_a256a9a3","updated":"2025-09-11 11:58:08.000000000","message":"Note: this breaks c-vol multi-backend support, because sqlalchemy objects are shared across multiple threads/backends. Need to rework how backends are launched.","commit_id":"be53d538abcc6c5f45bf8c6016bfc711908bd5b4"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e2e0edb8333aabf3a5e238be2d09c8c5db35173e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"0446f1b9_e936408f","updated":"2026-03-24 13:19:54.000000000","message":"Add oslo.service[threading] to reqs","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"a1caab2ec9c2816c920c4d010dc64834ce9aeabf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5167e396_da6468fe","updated":"2026-03-23 14:47:03.000000000","message":"no release notes","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"edd44caec221e3f18800ef4d7a9717565931fea5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"b076f53c_72fcf085","in_reply_to":"5167e396_da6468fe","updated":"2026-03-24 13:51:00.000000000","message":"I don\u0027t think we want release notes about this yet - this will require a lot more patches to be consumable.","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"dee1c38bc5ad195ed66959b4723afecc4e1657c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"0c79dab0_57f7c3c4","updated":"2026-04-15 11:54:27.000000000","message":"This looks okay to me.  I agree we don\u0027t yet need a release note - more patches need to come in first.","commit_id":"173e0aff1f01685bd3ce2b90ef17715a8eabe657"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"cb2ecf0637e98928589ff4cd76b993c9df1fab0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"b0e7c41d_b192df8f","updated":"2026-04-08 13:27:13.000000000","message":"recheck\n\ndevstack-plugin-nfs-tempest-full unrelated failure","commit_id":"173e0aff1f01685bd3ce2b90ef17715a8eabe657"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"63f3a3db0a6c1b2ea0b05687bcc3e52355de10db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"b6971941_cf607b5f","updated":"2026-04-29 12:52:53.000000000","message":"Except for my nit about accepting \"on\" as an alias for True, my concerns are addressed in the child patch, so I agree with Jon that this is ready to merge.","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"964acb4dba7d3aaa5f855c9dd5a7e9dc10b0bb44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"24b2f231_754dd793","updated":"2026-04-29 12:32:23.000000000","message":"Looks good, some minor stuff noted inline; let me know how you want to handle them (i.e., fix now or do it later).","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"06d3e1409acc65416b8e5c36614800cbea5ce51f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"66e1f9d1_144058c2","updated":"2026-04-17 17:48:39.000000000","message":"recheck\n\ndevstack-plugin-nfs-tempest-full failed","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"30f5709ac41dabb16b72a2910c478637ee0fc83a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"6545e3ef_01a4b139","updated":"2026-04-20 13:02:27.000000000","message":"recheck\n\nopenstack-tox-functional-py310 failed","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"c3a82703144410b6fcacaac4df687a28fbb64f84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"4d74c990_4fcf02a2","updated":"2026-05-04 18:23:48.000000000","message":"I\u0027m going to carry over Jon\u0027s previous +2 to move this along.","commit_id":"5a4a332eb16d3fcbf065a0d059daa88916a21487"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d7683869ebdad24f17231f4082f396543eca9f47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"d9e9b4c2_45019d24","updated":"2026-05-04 15:15:17.000000000","message":"Revisions LGTM.","commit_id":"5a4a332eb16d3fcbf065a0d059daa88916a21487"}],"cinder/cmd/volume.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"a1caab2ec9c2816c920c4d010dc64834ce9aeabf","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"volume_threading_opt \u003d cfg.BoolOpt("},{"line_number":28,"context_line":"    \u0027volume_threading_enabled\u0027,"},{"line_number":29,"context_line":"    default\u003dTrue,"},{"line_number":30,"context_line":"    help\u003d\u0027Enable threading (instead of eventlet)\u0027)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"18ac30d2_a5f7c439","line":28,"updated":"2026-03-23 14:47:03.000000000","message":"volume_threading_enabled is not used anywhere.","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"edd44caec221e3f18800ef4d7a9717565931fea5","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"volume_threading_opt \u003d cfg.BoolOpt("},{"line_number":28,"context_line":"    \u0027volume_threading_enabled\u0027,"},{"line_number":29,"context_line":"    default\u003dTrue,"},{"line_number":30,"context_line":"    help\u003d\u0027Enable threading (instead of eventlet)\u0027)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"6c24daa3_63585fd6","line":28,"in_reply_to":"18ac30d2_a5f7c439","updated":"2026-03-24 13:51:00.000000000","message":"Need to remove this.","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b8befefe111b3b68923ca39e475b14bd07fe7e58","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_config import cfg"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"volume_threading_opt \u003d cfg.BoolOpt("},{"line_number":28,"context_line":"    \u0027volume_threading_enabled\u0027,"},{"line_number":29,"context_line":"    default\u003dTrue,"},{"line_number":30,"context_line":"    help\u003d\u0027Enable threading (instead of eventlet)\u0027)"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"18885af7_6e3df9ab","line":28,"in_reply_to":"6c24daa3_63585fd6","updated":"2026-03-24 14:06:48.000000000","message":"Done","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"a1caab2ec9c2816c920c4d010dc64834ce9aeabf","unresolved":true,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":34,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":35,"context_line":"    match env:"},{"line_number":36,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"},{"line_number":37,"context_line":"            return True"},{"line_number":38,"context_line":"        case _:"}],"source_content_type":"text/x-python","patch_set":15,"id":"2e4f0beb_7d115937","line":35,"updated":"2026-03-23 14:47:03.000000000","message":"case can be optimized ....return env in (\u00271\u0027, \u0027true\u0027, \u0027yes\u0027)","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"edd44caec221e3f18800ef4d7a9717565931fea5","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":34,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":35,"context_line":"    match env:"},{"line_number":36,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"},{"line_number":37,"context_line":"            return True"},{"line_number":38,"context_line":"        case _:"}],"source_content_type":"text/x-python","patch_set":15,"id":"6a515cf7_63ab216a","line":35,"in_reply_to":"2e4f0beb_7d115937","updated":"2026-03-24 13:51:00.000000000","message":"The match: statement seems to be more readable to me.","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"a1caab2ec9c2816c920c4d010dc64834ce9aeabf","unresolved":true,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"def setup_eventlet():"},{"line_number":170,"context_line":"    if using_threading:"},{"line_number":171,"context_line":"        pass"},{"line_number":172,"context_line":"    else:"},{"line_number":173,"context_line":"        utils.monkey_patch()"}],"source_content_type":"text/x-python","patch_set":15,"id":"ea68aabe_d2998f71","line":170,"updated":"2026-03-23 14:47:03.000000000","message":"if not using_threading: utils.monkey_patch() has same effect","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"474a6905a840e7c96591a26059228a1ab2a34ddf","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"def setup_eventlet():"},{"line_number":170,"context_line":"    if using_threading:"},{"line_number":171,"context_line":"        pass"},{"line_number":172,"context_line":"    else:"},{"line_number":173,"context_line":"        utils.monkey_patch()"}],"source_content_type":"text/x-python","patch_set":15,"id":"cdc50d75_3eb292d0","line":170,"in_reply_to":"ea68aabe_d2998f71","updated":"2026-04-13 12:53:25.000000000","message":"Acknowledged","commit_id":"95561639d003ad44e1c4bdc02d973cb396f83ff9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"964acb4dba7d3aaa5f855c9dd5a7e9dc10b0bb44","unresolved":true,"context_lines":[{"line_number":28,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":29,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":30,"context_line":"    match env:"},{"line_number":31,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"},{"line_number":32,"context_line":"            return True"},{"line_number":33,"context_line":"        case _:"},{"line_number":34,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":23,"id":"6882df71_bb216a2f","line":31,"updated":"2026-04-29 12:32:23.000000000","message":"nit: we usually (at least in the REST API) accept \"on\" as a True value, but this function will return False.","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fd5a313af8bbb9013406b459f209e7f92540614c","unresolved":true,"context_lines":[{"line_number":28,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":29,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":30,"context_line":"    match env:"},{"line_number":31,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"},{"line_number":32,"context_line":"            return True"},{"line_number":33,"context_line":"        case _:"},{"line_number":34,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":23,"id":"de1c5420_aa685cb1","line":31,"in_reply_to":"6882df71_bb216a2f","updated":"2026-04-29 13:00:36.000000000","message":"I just took the accepted values from Nova, probably best to stay consistent with their mechanism so we don\u0027t get confused when configuring CI jobs etc.","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"74065db20f18d09d4edad3c2247b80a72e7b093c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":29,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":30,"context_line":"    match env:"},{"line_number":31,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"},{"line_number":32,"context_line":"            return True"},{"line_number":33,"context_line":"        case _:"},{"line_number":34,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":23,"id":"1efcd8c1_924635bf","line":31,"in_reply_to":"de1c5420_aa685cb1","updated":"2026-05-04 16:12:31.000000000","message":"Added checking against incorrect values in https://review.opendev.org/c/openstack/cinder/+/970332","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"964acb4dba7d3aaa5f855c9dd5a7e9dc10b0bb44","unresolved":true,"context_lines":[{"line_number":79,"context_line":"from cinder import utils"},{"line_number":80,"context_line":"from cinder import version"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if typing.TYPE_CHECKING:"},{"line_number":83,"context_line":"    import oslo_service"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"CONF \u003d cfg.CONF"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"7c7b7045_c6401685","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":23},"updated":"2026-04-29 12:32:23.000000000","message":"I think we can remove this now that we\u0027re importing oslo_service unconditionally at line 61","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fd5a313af8bbb9013406b459f209e7f92540614c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"from cinder import utils"},{"line_number":80,"context_line":"from cinder import version"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if typing.TYPE_CHECKING:"},{"line_number":83,"context_line":"    import oslo_service"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"CONF \u003d cfg.CONF"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"e04a2252_d57f2b92","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":23},"in_reply_to":"7c7b7045_c6401685","updated":"2026-04-29 13:00:36.000000000","message":"Done","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"}],"cinder/rpc.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"99525ee2d2a1b643eeaa8fd04737989d884216c8","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    return messaging.get_rpc_server(TRANSPORT,"},{"line_number":162,"context_line":"                                    target,"},{"line_number":163,"context_line":"                                    endpoints,"},{"line_number":164,"context_line":"                                    executor\u003d\u0027threading\u0027,  # TODO"},{"line_number":165,"context_line":"                                    serializer\u003dserializer,"},{"line_number":166,"context_line":"                                    access_policy\u003daccess_policy)"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"f2d83564_91e968bd","line":164,"updated":"2026-03-24 19:21:01.000000000","message":"Need to resolve this TODO","commit_id":"ea52085ad6a43dd5265c96f0354070cf7d42208c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"57d6271b0e3b00c32b99c087af25dcddf83e1770","unresolved":false,"context_lines":[{"line_number":161,"context_line":"    return messaging.get_rpc_server(TRANSPORT,"},{"line_number":162,"context_line":"                                    target,"},{"line_number":163,"context_line":"                                    endpoints,"},{"line_number":164,"context_line":"                                    executor\u003d\u0027threading\u0027,  # TODO"},{"line_number":165,"context_line":"                                    serializer\u003dserializer,"},{"line_number":166,"context_line":"                                    access_policy\u003daccess_policy)"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"934a0a0a_283cb30e","line":164,"in_reply_to":"f2d83564_91e968bd","updated":"2026-04-07 17:11:09.000000000","message":"Done","commit_id":"ea52085ad6a43dd5265c96f0354070cf7d42208c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"964acb4dba7d3aaa5f855c9dd5a7e9dc10b0bb44","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":59,"context_line":"    # TODO: deduplicate this function"},{"line_number":60,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":61,"context_line":"    match env:"},{"line_number":62,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"}],"source_content_type":"text/x-python","patch_set":23,"id":"a5b70b3a_5ca2544f","line":59,"updated":"2026-04-29 12:32:23.000000000","message":"I think you could put this into \u0027transition_utils.py\u0027 and then have that as the first import with a ``# noqa: I100``.  Then you wouldn\u0027t have to import os into files and could use oslo.strutils.bool_from_string to read the value.","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"74065db20f18d09d4edad3c2247b80a72e7b093c","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":59,"context_line":"    # TODO: deduplicate this function"},{"line_number":60,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":61,"context_line":"    match env:"},{"line_number":62,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a556aa3_83d33a42","line":59,"in_reply_to":"03fd7101_84b0ad8a","updated":"2026-05-04 16:12:31.000000000","message":"Done","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fd5a313af8bbb9013406b459f209e7f92540614c","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def is_threading_enabled() -\u003e bool:"},{"line_number":59,"context_line":"    # TODO: deduplicate this function"},{"line_number":60,"context_line":"    env \u003d os.environ.get(\u0027OS_CINDER_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower()"},{"line_number":61,"context_line":"    match env:"},{"line_number":62,"context_line":"        case (\u00271\u0027 | \u0027true\u0027 | \u0027yes\u0027):"}],"source_content_type":"text/x-python","patch_set":23,"id":"03fd7101_84b0ad8a","line":59,"in_reply_to":"a5b70b3a_5ca2544f","updated":"2026-04-29 13:00:36.000000000","message":"I think this gets sorted out in https://review.opendev.org/c/openstack/cinder/+/970332","commit_id":"7fc7b3049069c0c219f43faa76b211bcb936fe36"}],"cinder/service.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"117fc4eafbd57d98f6a4e6d4aaa52f918dd46ce1","unresolved":true,"context_lines":[{"line_number":278,"context_line":"            #    initial_delay \u003d random.randint(0, self.periodic_fuzzy_delay)"},{"line_number":279,"context_line":"            # else:"},{"line_number":280,"context_line":"            #    initial_delay \u003d None"},{"line_number":281,"context_line":"            self.tg.add_timer(self.periodic_interval, self.periodic_tasks)"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def basic_config_check(self) -\u003e None:"},{"line_number":284,"context_line":"        \"\"\"Perform basic config checks before starting service.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"d4141a87_06f52f1f","line":281,"range":{"start_line":281,"start_character":12,"end_line":281,"end_character":29},"updated":"2026-03-24 15:14:37.000000000","message":"Should rework this to use self.tg.add_timer_args.","commit_id":"ea52085ad6a43dd5265c96f0354070cf7d42208c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e38099dd0a25125f5664b7da29a0cad86880197a","unresolved":false,"context_lines":[{"line_number":278,"context_line":"            #    initial_delay \u003d random.randint(0, self.periodic_fuzzy_delay)"},{"line_number":279,"context_line":"            # else:"},{"line_number":280,"context_line":"            #    initial_delay \u003d None"},{"line_number":281,"context_line":"            self.tg.add_timer(self.periodic_interval, self.periodic_tasks)"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    def basic_config_check(self) -\u003e None:"},{"line_number":284,"context_line":"        \"\"\"Perform basic config checks before starting service.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"6f00f979_32597026","line":281,"range":{"start_line":281,"start_character":12,"end_line":281,"end_character":29},"in_reply_to":"d4141a87_06f52f1f","updated":"2026-03-25 14:58:34.000000000","message":"Done","commit_id":"ea52085ad6a43dd5265c96f0354070cf7d42208c"}]}
