)]}'
{"id":"openstack%2Fnova~999978","triplet_id":"openstack%2Fnova~master~Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6","project":"openstack/nova","branch":"master","attention_set":{"16207":{"account":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"last_update":"2026-10-06 12:23:19.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2026-10-06 14:00:13.000000000","reason":"\u003cGERRIT_ACCOUNT_9708\u003e replied on the change","reason_account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}}},"hashtags":[],"change_id":"Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6","subject":"Fix evacuate race conditions with periodic task and task_state","status":"NEW","created":"2026-08-06 14:25:11.000000000","updated":"2026-10-06 14:00:13.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":31,"unresolved_comment_count":2,"has_review_started":true,"meta_rev_id":"26257e27dc01666223fb8be06ef1951d17451687","_number":999978,"virtual_id_number":999978,"owner":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-10-06 12:23:09.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":{"approved":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"all":[{"value":2,"date":"2026-10-06 14:00:13.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"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":"","default_value":0,"optional":true},"Workflow":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_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":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-06 14:28:04.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"},{"updated":"2026-08-06 15:22:47.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":"CC"},{"updated":"2026-08-06 15:56:41.000000000","updated_by":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"reviewer":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-08-06 16:19:26.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":"2026-08-19 14:23:10.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2026-09-16 18:07:49.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"}],"messages":[{"id":"01b7c9dcd9c22c11cadc06ce8ab6a4cc7e02bfb7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-08-06 14:25:11.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"259ee7c15d37156f2fba0a69a75505d084cd3efc","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-06 14:28:04.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6 .","accounts_in_message":[],"_revision_number":1},{"id":"ffdc9736d7960120b0a1fc753ab474e8590aeeb9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-08-06 14:29:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"d386fbde04949d85b15e57edfbebace10c7ebf54","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-06 14:32:29.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6 .","accounts_in_message":[],"_revision_number":2},{"id":"d50c18fe6b7959e7d11c41484e62e84684c40059","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 15:22:47.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5d5a441f61c640b9bf3d9d1bbb7d7732\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/274d070db3884513a3475e1d89dd655b : SUCCESS in 17m 42s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/628be7fa4ba6456cb4e8325033d33c40 : SUCCESS in 29m 39s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/9a801d90ff84456b97a404ef0275e9b2 : SUCCESS in 36m 37s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"26c7a17469ab7a54ce33b0a1caa1a47cfc2f3e73","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-08-06 15:56:41.000000000","message":"Patch Set 1:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-999978-669zk/index.html\u003e","accounts_in_message":[],"_revision_number":1},{"id":"cdd963f9a7eb68d58e60717d927f539bd26d74be","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 16:19:26.000000000","message":"Patch Set 2: 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/dfda2cdc7c204014905fb7d20efabfc1\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/c02c4002a1e24081ab368dcd19c5d670 : SUCCESS in 1h 16m 01s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/bb8ad4893a3f454c8e36f10acd6b049a : SUCCESS in 1h 45m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1a616e2d38414400b3129da151b7ba57 : FAILURE in 1h 00m 55s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/054530ac631e4d549a718dc428347301 : SUCCESS in 52m 01s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/924f01e7c95342b48c3e3f723c334e3a : SUCCESS in 5m 03s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/86fbc3f37e18489ba6cebbfcdd5acd0a : SUCCESS in 11m 58s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e371e4d8d0d44fea9771509d40dff626 : SUCCESS in 12m 50s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/64fa561ba9324d8a9f72c36e55f74fb1 : SUCCESS in 19m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ed015ed7aed49d98dde56ed2b249847 : SUCCESS in 12m 47s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/25f205291fa646b1aa9967348aba58fc : SUCCESS in 3m 58s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/41284dc4fc114d1aa7d27522f00fcc2d : SUCCESS in 59m 48s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/76c46c18eff545f293d5c9d9ef7bcf5a : FAILURE in 32m 34s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/9ec52dc9d112412d8ba505e18a4bca2f : POST_FAILURE in 33m 45s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/54027056df1d480ba83a75bc3a0da476 : SUCCESS in 43m 03s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/1b14e6a68cb24196a4b32e8c9397d4c4 : FAILURE in 33m 30s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/201830092c844b56b621913d02d6deb5 : POST_FAILURE in 33m 15s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/10378d03d8c945ab86cf8d4c8387f0b8 : SUCCESS in 1h 13m 08s\n- nova-next https://zuul.opendev.org/t/openstack/build/0dc8234b1f064b7fa316eee8a81202a6 : POST_FAILURE in 28m 37s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/7be3bd4cd80e4abd9ec6e71244e7f45e : SUCCESS in 45m 55s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/0ee1c471bc4d4670b18b60f3db1900c1 : SUCCESS in 2m 58s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/7998371801d147dd91e76a4ba1134b69 : SUCCESS in 30m 49s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/63b15f85553443b5b43196ebd8de629b : SUCCESS in 26m 34s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/07c0445c99864ab1915be16a87570b4a : SUCCESS in 32m 20s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/d7005fedc64741b2903289f748d25dae : SUCCESS in 1h 29m 32s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/6dd5b226a258436caeb1ed050c5c2008 : SUCCESS in 27m 27s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/21795069117c4b898cd81a92b8589638 : SUCCESS in 27m 01s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/d7ba5dea93a54432afd15e5ac306dcbc : FAILURE in 13m 15s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/ea7a474defdd4a22acbb925440e6ada6 : SUCCESS in 14m 09s","accounts_in_message":[],"_revision_number":2},{"id":"ff13b96e9192a4eaaef8f5d4847785cf0fd7a3db","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-08-06 16:29:40.000000000","message":"Patch Set 2:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-999978-kpc87/index.html\u003e","accounts_in_message":[],"_revision_number":2},{"id":"4d4810b41c89d8b68c5e39c62deec0067c03e725","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-08-19 14:23:10.000000000","message":"Patch Set 2: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"06625260a03e2ac49b6c112d62be0916b0951518","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-09-04 13:16:25.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"a72159ce8848b9c5362962bd47b70c6a5c8a22c3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-09-04 13:16:59.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":3},{"id":"d0d107ca401e96e372bcb2711b99919791a1423d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 13:44:49.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/6063af61c420440c86199be3334c39ae\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/ad9fa7788bba49179f36ede42ce99c73 : SUCCESS in 14m 24s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/d43af634445b4c8d9814de6b93d9c78f : SUCCESS in 17m 41s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/d1c8a10f82bb497e9c6cc7898304eb5f : SUCCESS in 24m 06s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"3d2cac7e94f418fdae9efadaff127b0ac8c018df","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-09-04 13:52:19.000000000","message":"Patch Set 3:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-999978-dh6df/index.html\u003e","accounts_in_message":[],"_revision_number":3},{"id":"0022e8f0b0860e986a11986502f298a967859281","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-09-04 14:11:43.000000000","message":"Patch Set 3:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6 .","accounts_in_message":[],"_revision_number":3},{"id":"2a7b1a3d19ac5da324adcd8ce7a04be116169bc9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-04 15:24:41.000000000","message":"Patch Set 3: 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/fa1835cc46d547849e64298bd3213b5a\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/18b6b26d36c7455f9b055387567819bd : SUCCESS in 1h 02m 10s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/0dd3a56d382f48b6b540666a6be22e26 : SUCCESS in 1h 24m 07s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/e20671c5987b458f8fbbd5f868560d37 : SUCCESS in 30m 41s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f218e0ac05674bf5a6fe6b72fd74e4b5 : SUCCESS in 1h 28m 06s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e5fd33d63269470fa9e1ed0cb0fc572e : SUCCESS in 8m 46s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/8cef3f853dc749439c35964f5e6e2881 : SUCCESS in 9m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b9a2060de5e74833a3b393550cc477a3 : SUCCESS in 10m 35s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ac001ffe7cd04651bcb95863b7275b48 : SUCCESS in 16m 12s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/aada10264cc3461cb445909077f05cfd : SUCCESS in 11m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b74d010d1fa14498b0adb8323a91d479 : SUCCESS in 10m 09s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/87322239d0a3484a86a299f20e08a706 : SUCCESS in 1h 10m 27s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/767199210b0e413d908f789c81fbcc0e : SUCCESS in 1h 50m 57s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/3c68c14af473428fa2228f53856dcaf0 : SUCCESS in 53m 40s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/433e177de4024bd3b29fc7f269ae67c1 : RETRY_LIMIT in 3m 17s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/eb7eca4b47db47b495c7452cb9e8c022 : SUCCESS in 1h 02m 28s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/0f4774b10ad94335a58e33950c0cb512 : SUCCESS in 55m 17s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/54325f033ed14ec892c78ee0c40ab69f : SUCCESS in 49m 56s\n- nova-next https://zuul.opendev.org/t/openstack/build/d9a7c695be6d4ab0a94cbd0acff505ec : SUCCESS in 1h 58m 06s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/49a2dd1cd25e4102a6706fc4e9cd7bc2 : SUCCESS in 48m 50s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/686493d3ca0144909a41e72f111b2c0f : SUCCESS in 5m 55s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/ad60858a78c248eda5db610515b18b35 : SUCCESS in 31m 50s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/1a0fb1b8349f4bf89a0f94788162f71b : SUCCESS in 26m 04s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/cb988187d77e44658b55dfa77bda70d8 : SUCCESS in 35m 34s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/5b05e984536d40e4bd90451755c41722 : SUCCESS in 1h 30m 50s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8fb5266e2f6745498e676fecaf28bd34 : SUCCESS in 1h 08m 10s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/c85d310410974560aa6ee05e9e985236 : SUCCESS in 55m 25s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/c231302aa77c41ef98275b28dfed146a : SUCCESS in 43m 01s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/68f6f0256c1a4274a8339c84c6f16d86 : SUCCESS in 16m 43s","accounts_in_message":[],"_revision_number":3},{"id":"e80fb3eca3a27f6821407e80d31ac548c38dce6a","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-09 14:56:21.000000000","message":"Patch Set 3: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"b346ad00f46903da5e3f3df3c38f177423330271","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-09-16 15:48:19.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"a7d1c66585ef731e9ea0e99ee5856bc3667eaed9","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-09-16 16:08:09.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"91fd068b78bd3e0e10cf296d195efcbc8e78386d","tag":"autogenerated:sap-openstack-ci~result","author":{"_account_id":36571,"name":"vmwareapi CI run by SAP","display_name":"vmwareapi CI run by SAP","email":"openstack-ci@sap.com","username":"sap-openstack-ci","status":"CI account for integration tests of the Nova vmwareapi driver","tags":["SERVICE_USER"]},"date":"2026-09-16 16:19:03.000000000","message":"Patch Set 4:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-999978-nfn59/index.html\u003e","accounts_in_message":[],"_revision_number":4},{"id":"3c129083964886de43bd1703b73a322a5935f1f5","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-09-16 16:41:41.000000000","message":"Patch Set 4:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6 .","accounts_in_message":[],"_revision_number":4},{"id":"63f9688bba483732cc095c76fd0d55cc2a868140","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 18:00:29.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/acc7a3ddb46a45429946980fd3d843a1\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/7342a7f6ef1b4d9eabe7265372c474a9 : SUCCESS in 1h 04m 06s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/a0e88b246ccf42de93533b8aa99c43d2 : SUCCESS in 1h 51m 20s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/4ea25d426fc14d7b8b8d756d7901d473 : SUCCESS in 59m 46s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c0b1185d077e4165bbf15ba5266af722 : SUCCESS in 55m 46s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6a200beab9854a6f83716a2f2d517cf1 : SUCCESS in 4m 14s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/355b22f6c07840edaa01adacbb52a69d : SUCCESS in 13m 44s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/19695d26f9a74c368a2b26bcdb857649 : SUCCESS in 16m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/6f68d76943e14e10834c13977b3a431c : SUCCESS in 20m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c130d8a7a8a84eb6bcd4bb10ba37c63c : SUCCESS in 17m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a8594fed64b543219d5ceb398bf2c9a3 : SUCCESS in 10m 21s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/e3778f006119429ab091af279d207361 : SUCCESS in 32m 15s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/159785b7a8db4d72b86d7c1285b7a98f : SUCCESS in 1h 23m 54s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/4a499d16d0914d508516fc48b7b02c01 : SUCCESS in 56m 06s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/33c8c2dfaba14dd1a08232231e91a8da : SUCCESS in 41m 52s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/bf0a4baab1d542cbb2885dadd8b985ea : SUCCESS in 1h 00m 34s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/6b132fbcc50844e78b6bbdccd48f22c0 : SUCCESS in 59m 43s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/71fce7629224402e82b62cc053ef6aae : SUCCESS in 1h 40m 46s\n- nova-next https://zuul.opendev.org/t/openstack/build/b68417e1d35d462998aa23081ee4e701 : SUCCESS in 2h 02m 56s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/eda613262756464eb432c91b3f46d121 : SUCCESS in 28m 58s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/0c458a37ec98419abb5acfcf0214c1f8 : SUCCESS in 5m 21s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/ac08346723cf462ab173c35dbc65a2e4 : SUCCESS in 27m 38s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/b289d25dd40742f799576cb5ab5d45c4 : SUCCESS in 29m 16s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/9ea90c7f23c747989d34ebb09e7c18b4 : SUCCESS in 30m 04s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/2f654244edb3481bb20babb16201f49e : SUCCESS in 53m 00s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/8e48e2a16a3e460fa7804e09fcbc25de : SUCCESS in 57m 05s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/76fec3be7a7d4032a0639fdb31a9f8f8 : SUCCESS in 55m 52s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/3025a8e165754a468820b9cc04885d94 : SUCCESS in 18m 01s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/56ebadef18af4039987f7f99f11ca13b : SUCCESS in 15m 47s","accounts_in_message":[],"_revision_number":4},{"id":"239113c40f9525bc4cf9f07de93351b4bcf0a9df","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-09-16 18:17:33.000000000","message":"Patch Set 4:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":4},{"id":"8c4a55c7bf59ac2553b10bfe616a87c883f554bd","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-16 20:43:31.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/69238f725ad24679ab37de6419537692\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/5b1c686eef0e48f2bf722c18e6f27f00 : SUCCESS in 35m 32s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/4acb53fe0c2f445bbc8a527ce57856f0 : SUCCESS in 11m 57s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/abf33c3ba66f4bc381fcd588d7f9111b : SUCCESS in 18m 06s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"23eb8aa603ea67b359a713869513ae03e82d4bc2","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-28 09:58:16.000000000","message":"Patch Set 4: Code-Review-1\n\n(8 comments)","accounts_in_message":[],"_revision_number":4},{"id":"00a9042e8a8ad7aa7ff02037955bc38cc83e77eb","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-28 15:14:14.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"dbf54262e172f4cd73296abc9381201717f9952b","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-28 16:02:49.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"6116cf38e85032aaec075856579998838ffdce44","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-28 16:28:05.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"92093aa4adc96e5a617310d6027cd8f5d743c6a4","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-10-06 09:28:03.000000000","message":"Patch Set 4:\n\n(4 comments)","accounts_in_message":[],"_revision_number":4},{"id":"54f30481425454eadad4eb159da44a40facf7360","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"date":"2026-10-06 09:43:04.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":5},{"id":"bbd3c19738dbe78e4ac7f413fd83593342076651","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-06 10:06:44.000000000","message":"Patch Set 5:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/60dcbb39801440acbbe5c8dfea25f67e\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/cb0c34ab1b814a14ac1e1e1b151f9b80 : SUCCESS in 13m 23s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/7689a8aa6f414c888676bbc1b4221b4a : SUCCESS in 19m 57s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"907d498001fa325ffd5dd853d04c3652279b0aaa","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-10-06 10:39:07.000000000","message":"Patch Set 5:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6 .","accounts_in_message":[],"_revision_number":5},{"id":"0005e369459659a43490d86655a94443ec30ff28","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-10-06 12:23:09.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/54b9b8f6c1f64e40a5ada48a05041aa2\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/3647462407c14d57b1aaa0d51a7dd1b8 : SUCCESS in 1h 06m 10s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/1c3bf5820b02419ba879e6801d4d1d1c : SUCCESS in 1h 26m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/0085c2ea8c994ee3a3e099be7b4964d1 : SUCCESS in 1h 00m 45s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/c10e56b388aa4cd0b5a0b3e2dbc73f5f : SUCCESS in 1h 20m 59s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/89d131e9bea04bdbbaa5ac115c12e78d : SUCCESS in 7m 35s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/44ad0aea3ebe4ba89e2ae95f8961a76e : SUCCESS in 12m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/7cb39ad8443f46a1ae89f7cdcb15b105 : SUCCESS in 19m 09s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/296df4652c934766aaa2365671dad9e2 : SUCCESS in 13m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0b104bfff8cf48cc9150bb37d3732a60 : SUCCESS in 10m 28s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/5272fecde40d436f84f8d2b67b8d89cb : SUCCESS in 1h 35m 28s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/4bc28eaaf23d47719007060a955aa4d3 : SUCCESS in 1h 45m 43s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/652e7e30e70e4155b8eb3a9cf10b28e5 : SUCCESS in 40m 23s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/f3f2cfc5340c4fb1b1b80875f49e0b8b : SUCCESS in 37m 32s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/6f17c02855c04766843cfb79e79732ee : SUCCESS in 52m 24s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/b004f36cf87f4eaa9ee3b3a22f67ffcd : SUCCESS in 38m 59s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/aa13f42a1e98487397f5f2a718576db2 : SUCCESS in 2h 08m 33s\n- nova-next https://zuul.opendev.org/t/openstack/build/78c224f7329242418f84441332b4ee71 : SUCCESS in 2h 17m 05s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/e39df9ad20014c9fb9f4d555fbce3538 : SUCCESS in 49m 38s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/15bd2fc518c84aad8a020b0291496aef : SUCCESS in 5m 31s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/8a3bceb04904485981d89c9717cc0b94 : SUCCESS in 35m 58s\n- nova-tox-functional-py314 https://zuul.opendev.org/t/openstack/build/a0da3fc32d544a3781a6f6fd03eb546c : SUCCESS in 34m 41s\n- nova-tox-functional-py314-threading https://zuul.opendev.org/t/openstack/build/8609460f64a8480ab32df5357473ce68 : SUCCESS in 48m 16s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/1ca86c17925b4990be2f8734993e59f0 : SUCCESS in 1h 39m 12s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/215faf16c7f444c0a2144218fc427262 : SUCCESS in 56m 49s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/95a37cc58b5549d28c45ed6ac8456d45 : SUCCESS in 44m 59s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/6b49f1aaa06e4c1e852f66bd45250214 : SUCCESS in 28m 45s (non-voting)\n- nova-tox-py314-threading https://zuul.opendev.org/t/openstack/build/46f2545dcb2045bba69b3e4cabc95e81 : SUCCESS in 16m 16s","accounts_in_message":[],"_revision_number":5},{"id":"579c4734eb5a0ade376d59eefb708b586d66786a","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-10-06 12:33:05.000000000","message":"Patch Set 5:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":5},{"id":"26257e27dc01666223fb8be06ef1951d17451687","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-10-06 14:00:13.000000000","message":"Patch Set 5: Code-Review+2\n\n(3 comments)","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"88a6bd6c2d9e048bcb9ef8b0004e1490a5098eaa","revisions":{"c4f0beab1aa6a29e59bb51fb0bb44982e6bb747e":{"kind":"REWORK","_number":1,"created":"2026-08-06 14:25:11.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/78/999978/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/78/999978/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/78/999978/1"}}},"commit":{"parents":[{"commit":"73893494d2d2b4809d6b7faf00cc126d80386de6","subject":"Add regression test for bug 2162835","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/73893494d2d2b4809d6b7faf00cc126d80386de6"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-04 14:45:50.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-06 14:24:46.000000000","tz":120},"subject":"Fix CPU pinning reset during evacuate periodic race","message":"Fix CPU pinning reset during evacuate periodic race\n\nDuring an evacuation, there is a window between\n_update_instance_after_spawn (which clears task_state) and\nfinish_evacuation (which updates instance.host to the destination).\nIf the _update_available_resource periodic task runs in this window,\n_update_usage_from_migrations skips the evacuation migration because\nthe instance fails both the _instance_in_resize_state check\n(task_state is None) and the _instance_is_live_migrating check.\n\nThis causes cn.numa_topology.pinned_cpus to be reset to an empty set.\nWhen a subsequent VM is evacuated to the same host, rebuild_claim sees\nall pCPUs as free and assigns ones already in use, leading to duplicate\npCPU assignments.\n\nAdd _instance_is_evacuating() helper that detects in-progress\nevacuations by checking migration_type \u003d\u003d \u0027evacuation\u0027 and\ninstance.host !\u003d migration.dest_compute. Add it as a third condition\nin the skip check so evacuation migrations are properly tracked.\n\nCloses-Bug: #2162835\nAssisted-By: Claude-Code opus 4.6\nChange-Id: Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c4f0beab1aa6a29e59bb51fb0bb44982e6bb747e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c4f0beab1aa6a29e59bb51fb0bb44982e6bb747e"}]},"branch":"refs/heads/master"},"e30c5cbc999e2beaa06c5b55e96a605ef78a9f13":{"kind":"REWORK","_number":2,"created":"2026-08-06 14:29:37.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/78/999978/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/78/999978/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/78/999978/2"}}},"commit":{"parents":[{"commit":"73893494d2d2b4809d6b7faf00cc126d80386de6","subject":"Add regression test for bug 2162835","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/73893494d2d2b4809d6b7faf00cc126d80386de6"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-04 14:45:50.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-06 14:27:54.000000000","tz":120},"subject":"Fix CPU pinning reset during evacuate periodic race","message":"Fix CPU pinning reset during evacuate periodic race\n\nDuring an evacuation, there is a window between\n_update_instance_after_spawn (which clears task_state) and\nfinish_evacuation (which updates instance.host to the destination).\nIf the _update_available_resource periodic task runs in this window,\n_update_usage_from_migrations skips the evacuation migration because\nthe instance fails both the _instance_in_resize_state check\n(task_state is None) and the _instance_is_live_migrating check.\n\nThis causes cn.numa_topology.pinned_cpus to be reset to an empty set.\nWhen a subsequent VM is evacuated to the same host, rebuild_claim sees\nall pCPUs as free and assigns ones already in use, leading to duplicate\npCPU assignments.\n\nAdd _instance_is_evacuating() helper that detects in-progress\nevacuations by checking migration_type \u003d\u003d \u0027evacuation\u0027 and\ninstance.host !\u003d migration.dest_compute. Add it as a third condition\nin the skip check so evacuation migrations are properly tracked.\n\nCloses-Bug: #2162835\nAssisted-By: Claude-Code opus 4.6\nChange-Id: Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/e30c5cbc999e2beaa06c5b55e96a605ef78a9f13"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/e30c5cbc999e2beaa06c5b55e96a605ef78a9f13"}]},"branch":"refs/heads/master"},"f789232fb1b0ad4b3f30873e7dc61c6953b74e0d":{"kind":"REWORK","_number":3,"created":"2026-09-04 13:16:59.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/78/999978/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/78/999978/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/78/999978/3"}}},"commit":{"parents":[{"commit":"1f129651c4969f338b437c282529127f7372addc","subject":"Add regression test for bug 2162835","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1f129651c4969f338b437c282529127f7372addc"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-04 14:45:50.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-09-03 15:46:54.000000000","tz":120},"subject":"Fix CPU pinning reset during evacuate periodic race","message":"Fix CPU pinning reset during evacuate periodic race\n\nDuring an evacuation, there is a window between\n_update_instance_after_spawn and finish_evacuation where the periodic\ntask can corrupt resource tracking. The fix addresses two aspects of\nthis race:\n\n1. Close the task_state gap (compute manager):\n\n   _update_instance_after_spawn used to clear task_state to None before\n   finish_evacuation set instance.host to the destination. During this\n   window, the instance was visible with task_state\u003dNone while host\n   still pointed to the dead source, allowing other API actions to run\n   on it. Now, for evacuations, task_state is kept as REBUILD_SPAWNING\n   until finish_evacuation atomically sets instance.host and clears\n   task_state in a single save under COMPUTE_RESOURCE_SEMAPHORE.\n\n2. Track evacuations in the ResourceTracker:\n\n   Even with task_state kept non-None, the periodic task still needs to\n   recognize in-progress evacuations. When it wins the semaphore before\n   finish_evacuation, the instance has host\u003dsource (not counted by\n   _update_usage_from_instances) and the migration falls through both\n   _instance_in_resize_state and _instance_is_live_migrating checks.\n   The new _instance_is_evacuating helper detects this by checking\n   migration_type \u003d\u003d \u0027evacuation\u0027 and instance.host !\u003d dest_compute,\n   so the migration resources (including CPU pinning) are preserved.\n\n   Failed evacuations are not a concern: their migration status is\n   \u0027failed\u0027, which is excluded by get_in_progress_and_error.\n\nCloses-Bug: #2162835\nAssisted-By: Claude-Code opus 4.6\nChange-Id: Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f789232fb1b0ad4b3f30873e7dc61c6953b74e0d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f789232fb1b0ad4b3f30873e7dc61c6953b74e0d"}]},"branch":"refs/heads/master"},"6a0d7ee3595ef56ba0783ba1332700b68b33310f":{"kind":"REWORK","_number":4,"created":"2026-09-16 15:48:19.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/78/999978/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/78/999978/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/78/999978/4"}}},"commit":{"parents":[{"commit":"c0973db1f853948e60a067b3a05fdfc3f4633c21","subject":"Add regression test for bug 2162835","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c0973db1f853948e60a067b3a05fdfc3f4633c21"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-04 14:45:50.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-09-16 14:48:36.000000000","tz":120},"subject":"Fix evacuate race conditions with periodic task and task_state","message":"Fix evacuate race conditions with periodic task and task_state\n\nDuring an evacuation, multiple race windows allow the ResourceTracker\u0027s\nperiodic task or other API actions to corrupt instance state. This\npatch combines fixes for bug 2162835 (CPU pinning reset) and partially\naddresses bug 2165780 (sequential evacuations conflicting) by closing\nthe task_state gap.\n\nThe approach is based on Gibi\u0027s analysis that both bugs share a common\nroot cause: the instance becomes visible with task_state\u003dNone while\ninstance.host still points to the dead source compute.\n\n1. Keep task_state non-None until after instance.host is set:\n\n   _update_instance_after_spawn now keeps task_state\u003dREBUILDING for\n   evacuations instead of clearing it to None. The stop_instance call\n   (for VMs that were STOPPED) and rebuild.end notifications are moved\n   from _do_rebuild_instance to rebuild_instance, after\n   finish_evacuation has set instance.host. This ensures the instance\n   is never visible with task_state\u003dNone while host still points to\n   the dead source, preventing other API actions from racing.\n\n2. Track evacuations in the ResourceTracker:\n\n   Even with task_state kept non-None, the periodic task can still\n   win the COMPUTE_RESOURCE_SEMAPHORE before finish_evacuation. In\n   that case, the instance has host\u003dsource (not counted by\n   _update_usage_from_instances) and the migration falls through\n   both _instance_in_resize_state and _instance_is_live_migrating.\n   The new _instance_is_evacuating helper detects this case so the\n   migration resources (including CPU pinning) are preserved.\n\nNote: the remaining race in nova-api where two parallel evacuate\nrequests can both pass the task_state\u003dNone check is not addressed\nhere. It requires a broader design discussion planned for the\n2027.1 PTG.\n\nCloses-Bug: #2162835\nRelated-Bug: #2165780\nAssisted-By: Claude-Code opus 4.6\nChange-Id: Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/6a0d7ee3595ef56ba0783ba1332700b68b33310f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/6a0d7ee3595ef56ba0783ba1332700b68b33310f"}]},"branch":"refs/heads/master"},"88a6bd6c2d9e048bcb9ef8b0004e1490a5098eaa":{"kind":"REWORK","_number":5,"created":"2026-10-06 09:43:04.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/78/999978/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/78/999978/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/78/999978/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/78/999978/5"}}},"commit":{"parents":[{"commit":"3c8c84569d8b07f5a74ea693944bb0b0fa5cbd62","subject":"Reproduce part of bug/2166474","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3c8c84569d8b07f5a74ea693944bb0b0fa5cbd62"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-08-04 14:45:50.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-10-06 09:32:49.000000000","tz":120},"subject":"Fix evacuate race conditions with periodic task and task_state","message":"Fix evacuate race conditions with periodic task and task_state\n\nDuring an evacuation, multiple race windows allow the ResourceTracker\u0027s\nperiodic task or other API actions to corrupt instance state. This\npatch combines fixes for bug 2162835 (CPU pinning reset) and partially\naddresses bug 2166474 (sequential evacuations conflicting) by closing\nthe task_state gap.\n\nThe approach is based on Gibi\u0027s analysis that both bugs share a common\nroot cause: the instance becomes visible with task_state\u003dNone while\ninstance.host still points to the dead source compute.\n\n1. Keep task_state non-None until after instance.host is set:\n\n   _update_instance_after_spawn now keeps task_state\u003dREBUILDING for\n   both evacuations and regular rebuilds instead of clearing it to\n   None. The stop_instance call (for VMs that were STOPPED),\n   rebuild.end notifications, and scheduler info update are unified\n   in rebuild_instance after finish_evacuation has updated\n   instance.host. This simplifies the code by removing the duplicate\n   post-spawn logic from _do_rebuild_instance, and ensures the\n   instance is never visible with task_state\u003dNone while host still\n   points to the dead source during evacuations, preventing other\n   API actions from racing.\n\n2. Track evacuations in the ResourceTracker:\n\n   Even with task_state kept non-None, the periodic task can still\n   win the COMPUTE_RESOURCE_SEMAPHORE before finish_evacuation. In\n   that case, the instance has host\u003dsource (not counted by\n   _update_usage_from_instances) and the migration falls through\n   both _instance_in_resize_state and _instance_is_live_migrating.\n   The new _instance_is_evacuating helper detects this case so the\n   migration resources (including CPU pinning) are preserved.\n\nNote: the remaining race in nova-api where two parallel evacuate\nrequests can both pass the task_state\u003dNone check is not addressed\nhere. It requires a broader design discussion planned for the\n2027.1 PTG.\n\nCloses-Bug: #2162835\nRelated-Bug: #2166474\nAssisted-By: Claude-Code opus 4.6\nChange-Id: Ia11e7778b6a18ccc63dd74dc8fe54d41f2284bd6\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/88a6bd6c2d9e048bcb9ef8b0004e1490a5098eaa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/88a6bd6c2d9e048bcb9ef8b0004e1490a5098eaa"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"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":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["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":""}}}]}
