)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ca78404b1418e162129c5f8679b4f5b5ec0a27b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e8e68eec_caf2d0f5","updated":"2025-01-29 12:29:48.000000000","message":"I know it\u0027s too early but sooner would be better than later.","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"}],"oslo_privsep/daemon.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ca78404b1418e162129c5f8679b4f5b5ec0a27b3","unresolved":true,"context_lines":[{"line_number":79,"context_line":"                    \u0027builtins\u0027, \u0027subprocess\u0027)"},{"line_number":80,"context_line":"EVENTLET_LIBRARIES \u003d []"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"60da8152_63b290cd","line":82,"range":{"start_line":82,"start_character":39,"end_line":82,"end_character":45},"updated":"2025-01-29 12:29:48.000000000","message":"Looking at the code the existing logics check not only the thread module but also the other modules in EVENTLET_MODULES. Should we check all of these and raise warning in case ANY of these is patched ?","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9750b3b28ea9015b7ccea5c886c118c3a8f32c47","unresolved":true,"context_lines":[{"line_number":79,"context_line":"                    \u0027builtins\u0027, \u0027subprocess\u0027)"},{"line_number":80,"context_line":"EVENTLET_LIBRARIES \u003d []"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"1e42236d_cc0a022c","line":82,"range":{"start_line":82,"start_character":39,"end_line":82,"end_character":45},"in_reply_to":"1c39c811_c58f6846","updated":"2025-01-29 13:26:24.000000000","message":"Done. I moved the whole logic into the one that check for patched function, this way, we will do the check for all modules and we will warn only one time.","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ad2ed310780cb58bda4d1a7ccdd2f398d34e654e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                    \u0027builtins\u0027, \u0027subprocess\u0027)"},{"line_number":80,"context_line":"EVENTLET_LIBRARIES \u003d []"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"c68a0abc_09d5fe97","line":82,"range":{"start_line":82,"start_character":39,"end_line":82,"end_character":45},"in_reply_to":"1e42236d_cc0a022c","updated":"2025-01-29 13:27:12.000000000","message":"Done","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"6a2d14ff022a755d0936efd538896bc9b260f0c0","unresolved":true,"context_lines":[{"line_number":79,"context_line":"                    \u0027builtins\u0027, \u0027subprocess\u0027)"},{"line_number":80,"context_line":"EVENTLET_LIBRARIES \u003d []"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""}],"source_content_type":"text/x-python","patch_set":1,"id":"1c39c811_c58f6846","line":82,"range":{"start_line":82,"start_character":39,"end_line":82,"end_character":45},"in_reply_to":"60da8152_63b290cd","updated":"2025-01-29 12:49:32.000000000","message":"Good question... I wondered if it would be better to plug this deprecation warning into the logic defined below (line 93 to 99). Maybe by articulating a kind of flag, which, if true, would trigger the warning.\n\nThoughts?","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ca78404b1418e162129c5f8679b4f5b5ec0a27b3","unresolved":true,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""},{"line_number":86,"context_line":"        \"Please migrate your code and stop monkey patching your environment.\")"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f2c77f68_f532eb29","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":53},"updated":"2025-01-29 12:29:48.000000000","message":"Eventlet support is deprecated and will be soon no longer supported.","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9750b3b28ea9015b7ccea5c886c118c3a8f32c47","unresolved":false,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""},{"line_number":86,"context_line":"        \"Please migrate your code and stop monkey patching your environment.\")"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9ed6961b_a65de990","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":53},"in_reply_to":"a8f872e4_197107b0","updated":"2025-01-29 13:26:24.000000000","message":"Done","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"6a2d14ff022a755d0936efd538896bc9b260f0c0","unresolved":true,"context_lines":[{"line_number":81,"context_line":""},{"line_number":82,"context_line":"if eventlet.patcher.is_monkey_patched(\u0027thread\u0027):"},{"line_number":83,"context_line":"    debtcollector.deprecate("},{"line_number":84,"context_line":"        \"Eventlet usages are deprecated. \""},{"line_number":85,"context_line":"        \"Eventlet will be soon no longer supported. \""},{"line_number":86,"context_line":"        \"Please migrate your code and stop monkey patching your environment.\")"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a8f872e4_197107b0","line":85,"range":{"start_line":84,"start_character":0,"end_line":85,"end_character":53},"in_reply_to":"f2c77f68_f532eb29","updated":"2025-01-29 12:49:32.000000000","message":"ack","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bdc813ed5c2eb047a26970a0fb5893addb3c92ee","unresolved":true,"context_lines":[{"line_number":84,"context_line":"    return []"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"oslo_privsep_run_in_monkey_patched_env \u003d False"},{"line_number":88,"context_line":"for module in EVENTLET_MODULES:"},{"line_number":89,"context_line":"    if eventlet.patcher.is_monkey_patched(module):"},{"line_number":90,"context_line":"        oslo_privsep_run_in_monkey_patched_env \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"28f1973c_a7e1398b","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":38},"updated":"2025-02-02 14:55:44.000000000","message":"you can probably name this as a private var such as\n\n_MONKEY_PATCHED \u003d False","commit_id":"03d9a3f9441749666783eb651cddad933ef40454"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"17cf86dbcfb62404d311e7736093752fef16e6e5","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    return []"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"oslo_privsep_run_in_monkey_patched_env \u003d False"},{"line_number":88,"context_line":"for module in EVENTLET_MODULES:"},{"line_number":89,"context_line":"    if eventlet.patcher.is_monkey_patched(module):"},{"line_number":90,"context_line":"        oslo_privsep_run_in_monkey_patched_env \u003d True"}],"source_content_type":"text/x-python","patch_set":3,"id":"c03bb51b_91830e8b","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":38},"in_reply_to":"28f1973c_a7e1398b","updated":"2025-02-03 09:06:20.000000000","message":"Done","commit_id":"03d9a3f9441749666783eb651cddad933ef40454"}],"releasenotes/notes/deprecate-eventlet-monkey-patching-c37fea982471c01c.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ca78404b1418e162129c5f8679b4f5b5ec0a27b3","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Eventlet usages are deprecated and the removal of Eventlet from"},{"line_number":5,"context_line":"    OpenStack `is planned \u003chttps://governance.openstack.org/tc//goals/proposed/remove-eventlet.html\u003e`_,"},{"line_number":6,"context_line":"    for this reason the ``eventletutils`` module is deprecated."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    Using the ``daemon`` module of oslo.privsep in a monkey patched"},{"line_number":9,"context_line":"    environment is now deprecated. The support of Eventlet will be soon"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"18ca65f1_2343414d","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":63},"updated":"2025-01-29 12:29:48.000000000","message":"oslo.privsep deosn\u0027t have its own \"eventletutils\" so I\u0027m afraid this can be confusing.","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"9750b3b28ea9015b7ccea5c886c118c3a8f32c47","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Eventlet usages are deprecated and the removal of Eventlet from"},{"line_number":5,"context_line":"    OpenStack `is planned \u003chttps://governance.openstack.org/tc//goals/proposed/remove-eventlet.html\u003e`_,"},{"line_number":6,"context_line":"    for this reason the ``eventletutils`` module is deprecated."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    Using the ``daemon`` module of oslo.privsep in a monkey patched"},{"line_number":9,"context_line":"    environment is now deprecated. The support of Eventlet will be soon"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"c4842f6e_a4f87c01","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":63},"in_reply_to":"18ca65f1_2343414d","updated":"2025-01-29 13:26:24.000000000","message":"ah yes, good catch, I copied the release not from oslo.utils.\nDone","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"ad2ed310780cb58bda4d1a7ccdd2f398d34e654e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Eventlet usages are deprecated and the removal of Eventlet from"},{"line_number":5,"context_line":"    OpenStack `is planned \u003chttps://governance.openstack.org/tc//goals/proposed/remove-eventlet.html\u003e`_,"},{"line_number":6,"context_line":"    for this reason the ``eventletutils`` module is deprecated."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    Using the ``daemon`` module of oslo.privsep in a monkey patched"},{"line_number":9,"context_line":"    environment is now deprecated. The support of Eventlet will be soon"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"66f1adea_8c0a5c47","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":63},"in_reply_to":"c4842f6e_a4f87c01","updated":"2025-01-29 13:27:12.000000000","message":"Done","commit_id":"bd986b5e399f0fab945ef8f6e7777798799eb4cb"}]}
