)]}'
{"id":"openstack%2Fnova~982675","triplet_id":"openstack%2Fnova~master~I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934","project":"openstack/nova","branch":"master","topic":"bug/2111320","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-04-17 15:00:15.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934","subject":"Add reproducer for bug #2111320: soft-deleted services in Instance.services","status":"NEW","created":"2026-03-30 15:55:00.000000000","updated":"2026-04-17 15:00:15.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"34b0ab45fa0872a6c2fe97c8975f7f8dd60b0ee3","_number":982675,"virtual_id_number":982675,"owner":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-04-17 15:00:15.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":{"all":[{"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":[{"_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":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":{"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"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-30 16:35:30.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-03-30 17:01:19.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-03-30 17:01:27.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":"2e3bbdbe15d5d3f1857ebfd3a9fce80c3f6b9362","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-03-30 15:55:00.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5f1dd538874d08ab6ed6f1e167ce8362958ab37f","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-03-30 16:35:30.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934 .","accounts_in_message":[],"_revision_number":1},{"id":"9d5cca720c9ff89f51f543af636874ede914b81c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 17:01:19.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fef9c458152e4347968136122ec598c0\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9f07bdf04ae34ec3a6ae5ba8f25fb87c : SUCCESS in 52m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fb5f00c16def45f2b629578118d39aca : SUCCESS in 5m 15s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8fec43c227f44f5589a679fb7d713804 : SUCCESS in 18m 50s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a7706c0120534920be808b8f35beb640 : SUCCESS in 14m 13s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/bb6104831ec046de82c672d852c73573 : SUCCESS in 19m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fefe0cfa6c9042269eb8a539686a568a : SUCCESS in 6m 20s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/0d0260e3b7064b48be3c32856cafffcc : SUCCESS in 59m 46s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/f8041924120d425ab232d068d77c6b72 : SUCCESS in 5m 53s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/a6872cb66aa14600bc53382fa903e507 : SUCCESS in 24m 16s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/95bacda185d649669dae9eb910a55590 : SUCCESS in 20m 34s\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/d0fd3f8983b64e77958e34bb4a9cfe5d : SUCCESS in 10m 28s","accounts_in_message":[],"_revision_number":1},{"id":"d9fa576c96fef0cd6796645b2d9035322e0b82c9","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-03-30 17:10:46.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":1},{"id":"f589513ca55ccd71241700633722c9e24d62a378","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-30 19:49:54.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3cd4602eaf5144c8ac6d6039499f8d80\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/d55d340cf60849c8b714c4c366c35f5b : SUCCESS in 43m 12s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/1b845eee3f1446d5b5cba143482cb8b2 : SUCCESS in 32m 43s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/04a019e3793348c488f161421b452961 : SUCCESS in 42m 50s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"5469c8af86ef427c2dd4c65f3fcc16280b1ba89a","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-04-17 13:50:14.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"465c9a33693654d78ab74cb613c6c009c35e9e1b","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-17 14:29:36.000000000","message":"Patch Set 2:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934 .","accounts_in_message":[],"_revision_number":2},{"id":"d728c489e28218be34d6968ea01ca1b4b96b12d7","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 14:53:12.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/05d1174c6ae8434b9c62fb97ce862875\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/bde5c11d808547da81fb4b46d069008d : SUCCESS in 17m 40s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/b83102939b61431eb7ae46b9f5d20a64 : SUCCESS in 14m 17s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/92b8bbdd26a0437caf6e548ad46bf409 : SUCCESS in 27m 21s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"34b0ab45fa0872a6c2fe97c8975f7f8dd60b0ee3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-17 15:00:15.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/f915238dff7c41319ce4a5501059443d\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8f0c18795f57458a86b5e938b1fc7ee6 : FAILURE in 51m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/61a04772593347cf8a6f460054c95e78 : SUCCESS in 8m 29s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/16e72e54115e44a5a990047ba523534c : SUCCESS in 13m 34s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6b737aee3b9c4c47858a6be70ac05e7f : SUCCESS in 17m 13s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a78953876a8347f2964dcaf6245f25ff : SUCCESS in 24m 05s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e43a033added4d1ab13327cd44a24ab4 : SUCCESS in 11m 59s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/d0426a5668154bfbb45497dc95316792 : SUCCESS in 1h 04m 11s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/4a3da1a1fc04409b9e27e3734d38916b : SUCCESS in 5m 23s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/1b9eac9398f84305976464dc18cf4e85 : SUCCESS in 35m 48s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/ca7a0174700f423484e6a976518f58b4 : SUCCESS in 28m 26s\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/b4fd12c9be464999b76de868eaf9dc81 : SUCCESS in 16m 19s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"7eb47edeaa40151af1fbcebc2e8da35c10fff05d","revisions":{"77f128bb24b51671be36621bcac600d73b4ae0c0":{"kind":"REWORK","_number":1,"created":"2026-03-30 15:55:00.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/75/982675/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/75/982675/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/75/982675/1"}}},"commit":{"parents":[{"commit":"cfd5474c6438ad7cdb553357a37df5f2150d37ed","subject":"Merge \"Default native threading for conductor and compute\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/cfd5474c6438ad7cdb553357a37df5f2150d37ed"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-03-30 14:48:24.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-03-30 15:52:57.000000000","tz":120},"subject":"Add reproducer for bug #2111320: soft-deleted services in Instance.services","message":"Add reproducer for bug #2111320: soft-deleted services in Instance.services\n\nThe Instance.services ORM relationship in nova/db/main/models.py is\nmissing a Service.deleted \u003d\u003d 0 filter in the primaryjoin condition.\nThis causes instance.services to include soft-deleted service rows\nalongside active ones when a compute host has been removed and\nre-added.\n\nOperations guarded by check_instance_host(check_is_up\u003dTrue) — such\nas volume detach, resize, etc. — may then pick up a stale service\nrecord with an expired heartbeat and incorrectly raise a 409\nServiceUnavailable error.\n\nRelated-Bug: #2111320\nRelated-Bug: #2073365\n\nAssisted-By: Claude-Code opus 4.6\nChange-Id: I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\nSigned-off-by: René Ribaud \u003crribaud@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/77f128bb24b51671be36621bcac600d73b4ae0c0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/77f128bb24b51671be36621bcac600d73b4ae0c0"}]},"branch":"refs/heads/master"},"7eb47edeaa40151af1fbcebc2e8da35c10fff05d":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-04-17 13:50:14.000000000","uploader":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"ref":"refs/changes/75/982675/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/75/982675/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/982675/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/75/982675/2"}}},"commit":{"parents":[{"commit":"525158521281cf643a9942522788efd15ba12d6b","subject":"Merge \"Skip some unit tests on macOS\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/525158521281cf643a9942522788efd15ba12d6b"}]}],"author":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-03-30 14:48:24.000000000","tz":120},"committer":{"name":"René Ribaud","email":"rribaud@redhat.com","date":"2026-04-17 13:46:52.000000000","tz":120},"subject":"Add reproducer for bug #2111320: soft-deleted services in Instance.services","message":"Add reproducer for bug #2111320: soft-deleted services in Instance.services\n\nThe Instance.services ORM relationship in nova/db/main/models.py is\nmissing a Service.deleted \u003d\u003d 0 filter in the primaryjoin condition.\nThis causes instance.services to include soft-deleted service rows\nalongside active ones when a compute host has been removed and\nre-added.\n\nOperations guarded by check_instance_host(check_is_up\u003dTrue) — such\nas volume detach, resize, etc. — may then pick up a stale service\nrecord with an expired heartbeat and incorrectly raise a 409\nServiceUnavailable error.\n\nRelated-Bug: #2111320\nRelated-Bug: #2073365\n\nAssisted-By: Claude-Code opus 4.6\nChange-Id: I2514dbb0bfa3ef1c946ea62ef5b9b764b64d4934\nSigned-off-by: René Ribaud \u003crene.ribaud@gmail.com\u003e\nSigned-off-by: René Ribaud \u003crribaud@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7eb47edeaa40151af1fbcebc2e8da35c10fff05d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7eb47edeaa40151af1fbcebc2e8da35c10fff05d"}]},"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"},{"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":"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":""}}}]}
