)]}'
{"id":"openstack%2Fnova~814036","triplet_id":"openstack%2Fnova~master~I012dcf63306bae624dc4f66aae6c6d96a20d4327","project":"openstack/nova","branch":"master","topic":"bug/1946339","attention_set":{},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2021-11-03 20:49:13.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I012dcf63306bae624dc4f66aae6c6d96a20d4327","subject":"Prevent leaked eventlets to send notifications","status":"MERGED","created":"2021-10-14 16:29:16.000000000","updated":"2021-11-03 20:51:47.000000000","submitted":"2021-11-03 20:49:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":7,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"814036-bug/1946339","meta_rev_id":"56396cccc1895886d62112888ebdec09266a4602","_number":814036,"virtual_id_number":814036,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-11-03 20:49:13.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"all":[{"value":2,"date":"2021-10-15 17:06:16.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":1,"date":"2021-10-18 06:38:15.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":1,"date":"2021-10-20 12:06:49.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":2,"date":"2021-11-03 15:08:46.000000000","_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":1,"date":"2021-11-03 15:08:46.000000000","_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"date":"2021-10-25 17:40:32.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"recommended":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"all":[{"value":0,"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"value":0,"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"value":0,"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2021-10-26 16:14:13.000000000","permitted_voting_range":{"min":1,"max":2},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","value":1,"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"}],"CC":[{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-10-14 16:53:42.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":"2021-10-14 16:54:23.000000000","updated_by":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-10-14 18:43:27.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"CC"},{"updated":"2021-10-15 17:06:16.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"state":"REVIEWER"},{"updated":"2021-10-18 06:38:15.000000000","updated_by":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"reviewer":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"state":"REVIEWER"},{"updated":"2021-10-20 12:06:49.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2021-10-26 16:14:13.000000000","updated_by":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"reviewer":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"state":"REVIEWER"},{"updated":"2021-11-03 15:08:46.000000000","updated_by":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"reviewer":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"state":"REVIEWER"}],"messages":[{"id":"d7cc20987c82b465fafe351216c67e4b12cf5b2a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2021-10-14 16:29:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2eb4efb49a544fa9c5f8ca04da8db7b39f405286","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-14 16:53:42.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/32b06134832248e29a842425ce367507 : SUCCESS in 22m 30s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/9988af893604459ba4a72260ca439a9c : SUCCESS in 14m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/796a11fce931488ea249bf0a32130ee4 : SUCCESS in 8m 47s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/db21163896ce4284b144933bfb95d732 : SUCCESS in 17m 37s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6a10fc32561f41e99314699ea9488e69 : SUCCESS in 11m 06s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/7b9a0752a2a34e788b8a8e5bb05509d9 : SUCCESS in 13m 54s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a932a606e6304b53be0359a2e3208b1b : SUCCESS in 10m 42s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ce86f37a8f59475e9776140cad13dc87 : SUCCESS in 7m 37s (non-voting)\n- nova-tox-functional-centos8-py36 https://zuul.opendev.org/t/openstack/build/7e4a6a497cf14ce8a2a76e71762f13f0 : SUCCESS in 22m 22s\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/09b7af7c6cf442d08bf5620657cf678c : SUCCESS in 21m 43s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/830694cf6a5146b293863e1873243f63 : SUCCESS in 19m 32s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ced5413b874d48dc2f87250aedfd1099803ef123","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2021-10-14 16:54:23.000000000","message":"Patch Set 1:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_PowerFlex_NOVA https://elab-os-logsrv.delllabs.net/36/814036/1/check/EMC_PowerFlex_NOVA/6583ed5/EMC_PowerFlex_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC PowerFlex CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI","accounts_in_message":[],"_revision_number":1},{"id":"611ed9b4ddba6731c5f41e669e78b8447587d870","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-10-14 16:59:35.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/4a4b15bea839420f880af0ecb4e01939 : FAILURE in 24m 39s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/25fbe491fb394898a1ba7712f75bca2b : SUCCESS in 25m 31s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ff6deeb66b356e88ac9b8476922c355b1415515b","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2021-10-14 17:00:02.000000000","message":"Patch Set 1:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_PowerFlex_NOVA https://elab-os-logsrv.delllabs.net/36/814036/1/check/EMC_PowerFlex_NOVA/830957c/EMC_PowerFlex_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC PowerFlex CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI","accounts_in_message":[],"_revision_number":1},{"id":"f0647181965d234f0177a66ac6edde1d3c374bf4","tag":"autogenerated:cloudbase-ci","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-10-14 18:43:27.000000000","message":"Patch Set 1:\n\nBuild succeeded. For checking Nova with Ceph, add a comment with run-Cloudbase Nova Ceph Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/814036/1/iscsi : SUCCESS in 2h 12m 58s","accounts_in_message":[],"_revision_number":1},{"id":"7c624deab76ba8bfa95aad45f6acdc5afe57c780","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2021-10-15 09:19:14.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"2c583a5d1778be0ca11b45dd5fa4f253fc9189d1","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-10-15 17:06:16.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b876880ea5dbc52b366f10c51abee825b9259b0b","author":{"_account_id":32291,"name":"wushiming","email":"wushiming@yovole.com","username":"wushiming"},"date":"2021-10-18 06:38:15.000000000","message":"Patch Set 1: Code-Review+1","accounts_in_message":[],"_revision_number":1},{"id":"c75789c0caa65bed374b6138e72b5b4f0278947a","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2021-10-20 12:06:49.000000000","message":"Patch Set 1: Code-Review+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b10b7b79e87346dc76b48ca52b328966662b0f62","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2021-10-21 14:22:13.000000000","message":"Patch Set 1: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"98472e6869204e1ecd2765d59bc87f28802f8fda","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2021-10-21 15:05:21.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"4eee40d08a57279696feff610017db5c2aa0c5f5","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2021-10-25 17:40:32.000000000","message":"Patch Set 1: -Workflow\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"55044e4603616df3def7a44a54b4e85b3a0c034a","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2021-10-26 16:14:13.000000000","message":"Patch Set 1: Review-Priority+1","accounts_in_message":[],"_revision_number":1},{"id":"fef207544f0aaf54c4e2843de4846ec18abebaff","author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"date":"2021-11-03 15:08:46.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6d7d0bcfdb70153412c9eea178a9b0f11fabef54","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-11-03 15:10:43.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"abab3210be4a3ff33e6e13a582f6cb175e26fe1d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-11-03 20:49:13.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/bf2a905e000c4616b7cfbd26bdacc734 : SUCCESS in 15m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7992fb287e44492a817fbddea75519f4 : SUCCESS in 11m 24s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/4cbb930b923341bc82cd69baba277a59 : SUCCESS in 11m 20s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/66b62f8b253c4a3ba1cf6f14cb4f9aea : SUCCESS in 22m 10s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b0893b8f72eb40869461082c47f3a1ae : SUCCESS in 10m 57s\n- nova-tox-functional-centos8-py36 https://zuul.opendev.org/t/openstack/build/762568950f7148a7ae6e7159bd8d66f5 : SUCCESS in 19m 31s\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/7c8457b716a64665beb783fd01b69ab3 : SUCCESS in 20m 44s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/eecc497106f24e4fa44ead5da44cc53e : SUCCESS in 6m 51s","accounts_in_message":[],"_revision_number":1},{"id":"3f40459d0d391a5778fbcf3e313072b586e823b6","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-11-03 20:49:13.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"56396cccc1895886d62112888ebdec09266a4602","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-11-03 20:51:47.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/92ec6eb058a24aff8baf5cdff99687d2 : SUCCESS in 1m 29s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"61fc81a6761d34afdfc4a6d1c4c953802fd8a179","revisions":{"61fc81a6761d34afdfc4a6d1c4c953802fd8a179":{"kind":"REWORK","_number":1,"created":"2021-10-14 16:29:16.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/36/814036/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/36/814036/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/36/814036/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/36/814036/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/36/814036/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/36/814036/1"}}},"commit":{"parents":[{"commit":"7b063e4d0518af3e57872bc0288a94edcd33c19d","subject":"Define new functional test tox env for placement gate to run","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7b063e4d0518af3e57872bc0288a94edcd33c19d"}]}],"author":{"name":"Balazs Gibizer","email":"balazs.gibizer@est.tech","date":"2021-10-14 16:09:18.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"balazs.gibizer@est.tech","date":"2021-10-14 16:27:30.000000000","tz":120},"subject":"Prevent leaked eventlets to send notifications","message":"Prevent leaked eventlets to send notifications\n\nIn out functional tests we run nova services as eventlets. Also those\nservices can spawn there own eventlets for RPC or other parallel\nprocessing. The test case executor only sees and tracks the main\neventlet where the code of the test case is running. When that is\nfinishes the test executor considers the test case to be finished\nregardless of the other spawned eventlets. This could lead to leaked\neventlets that are running in parallel with later test cases.\n\nOne way that it can cause trouble is via the global variables in\nnova.rpc module. Those globals are re-initialized for each test case so\nthey are not directly leaking information between test cases. However if\na late eventlet calls nova.rpc.get_versioned_notifier() it will get a\ntotally usable FakeVersionedNotifier object regardless of which test\ncase this notifier is belongs to or which test case the eventlet belongs\nto. This way the late eventlet can send a notification to the currently\nrunning test case and therefore can make it fail.\n\nThe current case we saw is the following:\n\n1) The test case\n  nova.tests.functional.test_servers.ServersTestV219.test_description_errors\n  creates a server but don\u0027t wait for it to reach terminal state (ACTIVE\n  / ERROR). This test case finishes quickly but leaks running eventlets\n  in the background waiting for some RPC call to return.\n2) As the test case finished the cleanup code deletes the test case\n   specific setup, including the DB.\n3) The test executor moves forward and starts running another test case\n4) 60 seconds later the leaked eventlet times out waiting for the RPC\n   call to return and tries doing things, but fails as the DB is already\n   gone. Then it tries to  report this as an error notification. It calls\n   nova.rpc.get_versioned_notifier() and gets a fresh notifier that is\n   connected to the currently running test case. Then emits the error\n   notification there.\n5) The currently running test case also waits for an error notification\n   to be triggered by the currently running test code. But it gets the\n   notification form the late eventlet first. As the content of the\n   notification does not match with the expectations the currently\n   running test case fails. The late eventlet prints a lot of\n   error about the DB being gone making the troubleshooting pretty hard.\n\nThis patch proposes a way to fix this by marking each eventlet at spawn\ntime with the id of the test case that was directly or indirectly\nstarted it.\n\nThen when the NotificationFixture gets a notification it compares the\ntest case id stored in the calling eventlet with the id of the test case\ninitialized the NotificationFixture. If the two ids do not match then\nthe fixture ignores the notification and raises an exception to the\ncaller eventlet to make it terminate.\n\nChange-Id: I012dcf63306bae624dc4f66aae6c6d96a20d4327\nCloses-Bug: #1946339\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/61fc81a6761d34afdfc4a6d1c4c953802fd8a179"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/61fc81a6761d34afdfc4a6d1c4c953802fd8a179"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"}},{"label":"Review-Priority","status":"MAY","applied_by":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
