)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7b7b37ef8bc21bca25e75db2a931954dbda7b9aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"45f7945c_5f7cfa37","updated":"2025-05-15 12:03:19.000000000","message":"Looks sane approach for eventlet removal.","commit_id":"b5a89857254ad9184349148d3b7c7621eff9230c"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f466c7129aacad6451e908c31798f60fb445855c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"67e7108d_4399e689","updated":"2025-05-19 11:01:24.000000000","message":"looks right, and all tests are passing","commit_id":"b5a89857254ad9184349148d3b7c7621eff9230c"}],"setup.cfg":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35258debefd8778e54dbd04e2813dbb17869dde4","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    watcher \u003d watcher.common.policy:get_enforcer"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"console_scripts \u003d"},{"line_number":42,"context_line":"    watcher-api \u003d watcher.cmd.eventlet.api:main"},{"line_number":43,"context_line":"    watcher-db-manage \u003d watcher.cmd.dbmanage:main"},{"line_number":44,"context_line":"    watcher-decision-engine \u003d watcher.cmd.eventlet.decisionengine:main"},{"line_number":45,"context_line":"    watcher-applier \u003d watcher.cmd.eventlet.applier:main"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"90fba441_a532d554","line":42,"updated":"2025-05-26 11:31:52.000000000","message":"note we proably will deprecate or delete this this cycle or delete it if it was already deprecated but yep this make sense for now.","commit_id":"b5a89857254ad9184349148d3b7c7621eff9230c"}],"watcher/tests/__init__.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35258debefd8778e54dbd04e2813dbb17869dde4","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# that has the side effect of monkey patching the test executor"},{"line_number":20,"context_line":"# after many modules are already imported."},{"line_number":21,"context_line":"from watcher import eventlet"},{"line_number":22,"context_line":"eventlet.patch()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from watcher import objects  # noqa E402"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c9e8cd04_54acf4db","side":"PARENT","line":22,"updated":"2025-05-26 11:31:52.000000000","message":"we cant do this unfortunly.\n\nthe way that monky patching works we need to do it early. we cant have some test monky patched and other not in the same tox worker process. so either we need to change how we run the tests to ensure that we never run monkey patched tests with un monkey patched tests or we have to keep all the test monky patched until we remove the eventlet usage.\n\nwe can split the tests but that will mean altering how they are structured and changing the tox command so -1 for now.\n\nlets do this change sepreatly otherwise we need to rework how we run the test in this patch.\n\nbasiclaly we would ahve to have two invocation so stestr in the tox target like we do in tempst\n\nhttps://github.com/openstack/tempest/blob/master/tox.ini#L109-L120 \n\nstestr also directlly support the --combine flag\n\nhttps://github.com/mtreinish/stestr/blob/10b977702e2ec5502a48e4fa4c280fcf2cd2577e/stestr/commands/run.py#L185-L191\n\nhttps://github.com/mtreinish/stestr/blob/10b977702e2ec5502a48e4fa4c280fcf2cd2577e/doc/source/MANUAL.rst?plain\u003d1#L288-L300\n\nthe tempest cli is just invoke that when you pass --combine\n\nwhat that does is tell the subunit output to append the results of the next run to the same subunit db as the previous run.\n\nif you want to keep the monky patch split youwill need to seperate the test based on if they are monky patched into two diffent runs to ensure theat we dont get inter tests interaction. \n\nspliting the test is non trivial becasue you need to account for which tests are testig code that is used in both modes.\n\nthat the main rason im suggesting defering this to a follow up patch.","commit_id":"59607f616a0a7c8e38f488922ec3c27dffe692e7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"281b507e13bebd9be5df22071704728aaf8d00a4","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# that has the side effect of monkey patching the test executor"},{"line_number":20,"context_line":"# after many modules are already imported."},{"line_number":21,"context_line":"from watcher import eventlet"},{"line_number":22,"context_line":"eventlet.patch()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from watcher import objects  # noqa E402"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3922d62d_15a59fec","side":"PARENT","line":22,"in_reply_to":"2c39a77e_0ca92874","updated":"2025-05-29 18:54:48.000000000","message":"it would monkey patch at diffent times depending on the semi random test order\nwhich mean we may gent unstable tests because the behvior fo eventlet change based on what modules were imported before it is imported and monkey patching is done.\n\nthe current monky patching is at the top of the test module to make sure we monkey patch before any tests can run to avoid non determinsitc failures like that\n\nso ya either we need to split the test run, drop the monkey pathcing in tests entrily or keep it until the very end.","commit_id":"59607f616a0a7c8e38f488922ec3c27dffe692e7"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d9dca7bd6938047236a752c2a4c09f72771a4097","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# that has the side effect of monkey patching the test executor"},{"line_number":20,"context_line":"# after many modules are already imported."},{"line_number":21,"context_line":"from watcher import eventlet"},{"line_number":22,"context_line":"eventlet.patch()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from watcher import objects  # noqa E402"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9b16d468_85c9d2db","side":"PARENT","line":22,"in_reply_to":"3922d62d_15a59fec","updated":"2025-06-07 14:47:31.000000000","message":"ack, lets move all test part to another patch, since we also need to change how tests are running","commit_id":"59607f616a0a7c8e38f488922ec3c27dffe692e7"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"98dc0758e02c328c7c43502e8613e250eca2c9b0","unresolved":true,"context_lines":[{"line_number":19,"context_line":"# that has the side effect of monkey patching the test executor"},{"line_number":20,"context_line":"# after many modules are already imported."},{"line_number":21,"context_line":"from watcher import eventlet"},{"line_number":22,"context_line":"eventlet.patch()"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from watcher import objects  # noqa E402"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2c39a77e_0ca92874","side":"PARENT","line":22,"in_reply_to":"c9e8cd04_54acf4db","updated":"2025-05-27 18:15:00.000000000","message":"Thanks Sean, so let me see iiuc. Even if we proceed with this change, where I am deleting monkey_patch here, but adding to all other submodules, it will still run all monkey patched, since the current stestr run will be all patched anyways.\nSo this is might be ok if we also split the tests, everything in another change.","commit_id":"59607f616a0a7c8e38f488922ec3c27dffe692e7"}]}
