)]}'
{"id":"openstack%2Fwatcher~938436","triplet_id":"openstack%2Fwatcher~stable%2F2024.1~I967f3469bd66e69c00863d553bc859343afbb3ff","project":"openstack/watcher","branch":"stable/2024.1","topic":"unit-test-cleanup-stable/2024.1","attention_set":{},"removed_from_attention_set":{"34720":{"account":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"last_update":"2025-01-10 02:24:13.000000000","reason":"Change was abandoned"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-01-10 02:24:13.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I967f3469bd66e69c00863d553bc859343afbb3ff","subject":"[eventlet] Ensure unit tests are monkey patched","status":"ABANDONED","created":"2025-01-06 07:23:49.000000000","updated":"2025-01-10 02:24:13.000000000","total_comment_count":2,"unresolved_comment_count":1,"has_review_started":true,"cherry_pick_of_change":934385,"cherry_pick_of_patch_set":1,"meta_rev_id":"0f47521d6491a1329e7827ecb370b4ca2003ade8","_number":938436,"virtual_id_number":938436,"owner":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:check","value":1,"date":"2025-01-06 09:13:49.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"disliked":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"all":[{"value":-1,"date":"2025-01-07 07:45:11.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Standard Change","+1":"Important Change","+2":"High Priority Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-01-06 07:23:49.000000000","updated_by":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"CC"},{"updated":"2025-01-06 08:13:57.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-01-07 07:43:47.000000000","updated_by":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"reviewer":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"state":"CC"},{"updated":"2025-01-07 07:43:47.000000000","updated_by":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2025-01-07 07:45:11.000000000","updated_by":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"reviewer":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"state":"REVIEWER"}],"messages":[{"id":"919b7928bf149f8709de6e3e1d0cf96da62f5533","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"date":"2025-01-06 07:23:49.000000000","message":"Patch Set 1: Cherry Picked from branch master.\n\nThe following files contain Git conflicts:\n* watcher/cmd/__init__.py","accounts_in_message":[],"_revision_number":1},{"id":"47f9e63b14f69814d2ff0a6b9ffde3dd499cec59","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-06 08:13:57.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/042c1ab611f3470eaeebf92f38d85b46\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/bb1ff41681ee4a98a45c636c3172d6c0 : FAILURE in 3m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fdb09c11f11c4d0ba0778d48a7f8993c : FAILURE in 3m 16s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/2467886256874a12b5155799728f7b35 : FAILURE in 3m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/f43a473f4b18419d9bf2e832f69071d0 : FAILURE in 3m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2da1dd2c3d2d46e79e928baabd00c2af : SUCCESS in 5m 48s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/ab1bf5dd438e4113bf91fdef0e9f359e : FAILURE in 31m 12s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/8502c38b1abd4f0eb4253b784a97eabc : FAILURE in 43m 26s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/18bd8813655147b98520f3b8b4cb798c : FAILURE in 18m 38s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/c864947740674ecc9021803d1bb51085 : FAILURE in 24m 49s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/6e6fca97e23b484bbd37656e418daa0d : FAILURE in 15m 13s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/e02490bfd8f4404aa841341e2248771c : FAILURE in 21m 50s","accounts_in_message":[],"_revision_number":1},{"id":"9111edff8a5aef8fcfd8dcce5c4fca5bee14d80a","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"date":"2025-01-06 08:41:49.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"37c85c67e3edb099ebbf2e07489b266b0b632b37","tag":"autogenerated:gerrit:setReadyForReview","author":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"date":"2025-01-06 08:42:25.000000000","message":"Set Ready For Review","accounts_in_message":[],"_revision_number":2},{"id":"df4a1af2c0cd16b17dc357e0fd19eedc7031cf63","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-06 09:13:49.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/45645af88b40443faa5bbd77c669f0a8\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/deeb89e63de7408b8827ecff7cbfa51e : SUCCESS in 3m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/082eb7c3b0aa41889434dacf9626ec5f : SUCCESS in 2m 52s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/650a4edbab6f4b23ad66954f0aea6910 : SUCCESS in 4m 17s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5f5d035629814cdcb20e6bab662cf1ab : SUCCESS in 4m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/af901c676ef6468d8a285c06eca44eae : SUCCESS in 3m 46s\n- watcher-tempest-functional https://zuul.opendev.org/t/openstack/build/1cf72df171c741ce8fb515227602253b : SUCCESS in 20m 21s\n- watcher-grenade https://zuul.opendev.org/t/openstack/build/7d1f13a3d9be4577a8f01a48c654be20 : SUCCESS in 25m 45s\n- watcher-tempest-strategies https://zuul.opendev.org/t/openstack/build/df43da98d704436283c9deb1f94dfba7 : SUCCESS in 30m 57s\n- watcher-tempest-actuator https://zuul.opendev.org/t/openstack/build/e85e2e8df9584fe495edc12a025eb601 : SUCCESS in 29m 26s\n- watcherclient-tempest-functional https://zuul.opendev.org/t/openstack/build/864cd6d1a2544f6b9ad446e6c3c5f6e1 : SUCCESS in 17m 38s\n- watcher-tempest-functional-ipv6-only https://zuul.opendev.org/t/openstack/build/6f2b7d35210a43aaa709731e0f1bba05 : SUCCESS in 19m 11s","accounts_in_message":[],"_revision_number":2},{"id":"49a3c352a9a7854038ec7f9820d137acfb6e480b","author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"date":"2025-01-07 07:43:47.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"adfec4a79046eb24f071f5f12680dada42e329a0","author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"date":"2025-01-07 07:45:11.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0f47521d6491a1329e7827ecb370b4ca2003ade8","tag":"autogenerated:gerrit:abandon","author":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"date":"2025-01-10 02:24:13.000000000","message":"Abandoned","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"5764e535293cef93aac094133d855bab839d9891","revisions":{"f599129ada7a81f4231be9f8cf5e6a4a563963a2":{"kind":"REWORK","_number":1,"created":"2025-01-06 07:23:49.000000000","uploader":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"ref":"refs/changes/36/938436/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/36/938436/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/36/938436/1"}}},"commit":{"parents":[{"commit":"6b433b3547466f592c9e5ed22477bd8e534512b9","subject":"Fix oslo.db \u003e\u003d 15.0.0 compatibility","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6b433b3547466f592c9e5ed22477bd8e534512b9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2024-11-07 18:33:50.000000000","tz":0},"committer":{"name":"JamesLin","email":"james.lin@canonical.com","date":"2025-01-06 07:23:49.000000000","tz":0},"subject":"[eventlet] Ensure unit tests are monkey patched","message":"[eventlet] Ensure unit tests are monkey patched\n\nThis change refactors how watcher manages monkey_patching\nmodules to achieve 2 goals.\n\nFirst, we want to ensure the watcher code is tested as it is used\nin production. While many tests can run without eventlet,\nthe existing unit tests depend on eventlet monkey patching\nindirectly by importing watcher code that uses eventlet.spawn and\ngreenthread executors. While that mostly functions today it has\nincorrect and inconsistent behaviour on Python 3.9 vs Python 3.12.\n\nSecond, the unit tests that test the cmd module were indirectly\nmonkey patching the test executor during the execution of the tests\nas a side effect of importing watcher.cmd. As such the order the tests\nexecute in and how they are distributed across test workers changed\nif the test was monkey-patched or not.\n\nThis change makes all tests run with monkey_patching by adding\nmonkey patching in the watcher/tests/__init__.py\nThis change also splits the monkey patching from the import\nin preparation for an eventual removal of eventlet in a future\nrelease.\n\nChange-Id: I967f3469bd66e69c00863d553bc859343afbb3ff\n(cherry picked from commit c5edad224659596a2534ee58be06a8a8190366c0)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/f599129ada7a81f4231be9f8cf5e6a4a563963a2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/f599129ada7a81f4231be9f8cf5e6a4a563963a2"}]},"branch":"refs/heads/stable/2024.1"},"5764e535293cef93aac094133d855bab839d9891":{"kind":"REWORK","_number":2,"created":"2025-01-06 08:41:49.000000000","uploader":{"_account_id":34720,"name":"JamesLin","display_name":"jneo8","email":"james.lin@canonical.com","username":"jneo8"},"ref":"refs/changes/36/938436/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/watcher","ref":"refs/changes/36/938436/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/watcher refs/changes/36/938436/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/watcher refs/changes/36/938436/2"}}},"commit":{"parents":[{"commit":"6b433b3547466f592c9e5ed22477bd8e534512b9","subject":"Fix oslo.db \u003e\u003d 15.0.0 compatibility","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/6b433b3547466f592c9e5ed22477bd8e534512b9"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2024-11-07 18:33:50.000000000","tz":0},"committer":{"name":"jneo8","email":"james.lin@canonical.com","date":"2025-01-06 08:39:53.000000000","tz":480},"subject":"[eventlet] Ensure unit tests are monkey patched","message":"[eventlet] Ensure unit tests are monkey patched\n\nThis change refactors how watcher manages monkey_patching\nmodules to achieve 2 goals.\n\nFirst, we want to ensure the watcher code is tested as it is used\nin production. While many tests can run without eventlet,\nthe existing unit tests depend on eventlet monkey patching\nindirectly by importing watcher code that uses eventlet.spawn and\ngreenthread executors. While that mostly functions today it has\nincorrect and inconsistent behaviour on Python 3.9 vs Python 3.12.\n\nSecond, the unit tests that test the cmd module were indirectly\nmonkey patching the test executor during the execution of the tests\nas a side effect of importing watcher.cmd. As such the order the tests\nexecute in and how they are distributed across test workers changed\nif the test was monkey-patched or not.\n\nThis change makes all tests run with monkey_patching by adding\nmonkey patching in the watcher/tests/__init__.py\nThis change also splits the monkey patching from the import\nin preparation for an eventual removal of eventlet in a future\nrelease.\n\nChange-Id: I967f3469bd66e69c00863d553bc859343afbb3ff\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5764e535293cef93aac094133d855bab839d9891"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/watcher/commit/5764e535293cef93aac094133d855bab839d9891"}]},"branch":"refs/heads/stable/2024.1"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
