)]}'
{"id":"openstack%2Fnova~1000971","triplet_id":"openstack%2Fnova~master~I24a37bd82ea47bdeda0a6fd0d7689de9e9d56c64","project":"openstack/nova","branch":"master","topic":"eventlet-removal","hashtags":[],"change_id":"I24a37bd82ea47bdeda0a6fd0d7689de9e9d56c64","subject":"Stabilize func test waiting for VM ERROR state","status":"ABANDONED","created":"2026-08-14 14:59:05.000000000","updated":"2026-08-14 16:01:17.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2f2a9dccd0e269dfe5cc9de3295930c59b4e8b77","_number":1000971,"virtual_id_number":1000971,"owner":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"actions":{},"labels":{"Verified":{"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":{"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":{"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-14 16:01:17.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"}],"messages":[{"id":"702c8323fa2095f43c081f7a134133eff4fee668","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-08-14 14:59:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"eba754bea0dcd38953b04a2a356e1b6d1fa7d309","tag":"autogenerated:gerrit:abandon","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-08-14 15:00:29.000000000","message":"Abandoned\n\nbad rebase","accounts_in_message":[],"_revision_number":1},{"id":"2f2a9dccd0e269dfe5cc9de3295930c59b4e8b77","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-14 16:01:17.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I24a37bd82ea47bdeda0a6fd0d7689de9e9d56c64 .","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"c0dbcc3e995c7573d6c1bd195fd973533365957f","revisions":{"c0dbcc3e995c7573d6c1bd195fd973533365957f":{"kind":"REWORK","_number":1,"created":"2026-08-14 14:59:05.000000000","uploader":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"ref":"refs/changes/71/1000971/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/71/1000971/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1000971/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1000971/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/71/1000971/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/71/1000971/1"}}},"commit":{"parents":[{"commit":"48d4b3f7032364e2030035a33596c0f407cb0279","subject":"Merge \"Fix deny_share host locality for NFS\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/48d4b3f7032364e2030035a33596c0f407cb0279"}]}],"author":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-08-14 13:49:05.000000000","tz":120},"committer":{"name":"Balazs Gibizer","email":"gibi@redhat.com","date":"2026-08-14 14:34:06.000000000","tz":120},"subject":"Stabilize func test waiting for VM ERROR state","message":"Stabilize func test waiting for VM ERROR state\n\nThe nova code set the ERROR state in a separate transaction before saves\nthe fault into the DB. So if a test case only waited for the ERROR state\nand then asserted the fault then the test case can see an empty fault\nsometimes. This commits adds waiting for the fault key during waiting\nfor ERROR state to stabilize these tests. This patch tried to solve the\nproblem in a generic way but in some cases the test produce a VM in\nERROR state without ever having a fault recorded so the solution adds\nyet another flag to the test helper to serve as an escape hatch.\n\nThis patch stabilize the test suit against the race conditions that can\nbe forced by injecting a sleep at:\n\n diff --git a/nova/scheduler/utils.py b/nova/scheduler/utils.py\n index e8d832574e..9e9d9d816b 100644\n --- a/nova/scheduler/utils.py\n +++ b/nova/scheduler/utils.py\n @@ -987,6 +987,7 @@ def set_vm_state_and_notify(context, instance_uuid, service, method, updates,\n                                  **updates)\n      instance.obj_reset_changes([\u0027uuid\u0027])\n      instance.save()\n +    import time; time.sleep(1)\n      compute_utils.add_instance_fault_from_exc(\n          context, instance, ex, sys.exc_info())\n\nChange-Id: I35ad9752874c658ec7b578abc433bf47ac782cac\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n\nChange-Id: I24a37bd82ea47bdeda0a6fd0d7689de9e9d56c64\nSigned-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c0dbcc3e995c7573d6c1bd195fd973533365957f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c0dbcc3e995c7573d6c1bd195fd973533365957f"}]},"branch":"refs/heads/master"}},"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
