)]}'
{"id":"openstack%2Fnova~985717","triplet_id":"openstack%2Fnova~master~Ifb03d04d8b80827735cb2905887c2eec3bd701a4","project":"openstack/nova","branch":"master","topic":"improve_attachment_resiliance_against_timeout","attention_set":{"37309":{"account":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"last_update":"2026-04-21 21:01:14.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ifb03d04d8b80827735cb2905887c2eec3bd701a4","subject":"Feat: Add Command for Forceful BDM Deletion","status":"NEW","created":"2026-04-21 18:23:05.000000000","updated":"2026-04-21 21:10:22.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":"9cffeff026089c3701697519001968263fe84dbc","_number":985717,"virtual_id_number":985717,"owner":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-04-21 21:01:06.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-04-21 19:02:44.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-04-21 19:41:23.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-04-21 21:01:06.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-04-21 21:01:14.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":"8242e2a276db3823d90b4feec2d4e35248faec70","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"date":"2026-04-21 18:23:05.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c75e2f3e91ad2b1ceb64334282cdbab2371f09b1","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-21 19:02:44.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/Ifb03d04d8b80827735cb2905887c2eec3bd701a4 .","accounts_in_message":[],"_revision_number":1},{"id":"ecfc893b7b22c26cde90d534320b1d00c3390029","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 19:41:23.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3adb469b77df4c8587a56458ff56610b\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/2f989509c96247558e79c2347de32293 : SUCCESS in 14m 43s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/9eef1bc9110f4a8fb70c875f52994bb3 : SUCCESS in 16m 22s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/d264e3d3bfbc4a468d0e86a61b2956e9 : SUCCESS in 26m 38s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"b2fa240fb807f2fae9f573681b051527b9065fab","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 21:01:06.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/4f115522f51b4767a04e8fd12f917fb0\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/6bc4966e57bb4a269c5e8b5874914606 : SUCCESS in 1h 05m 28s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/91cd2c3f8ae54f2f83c166a17ff96356 : SUCCESS in 1h 56m 54s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/b8ddc0d94bcb4f808b723b109b02b5df : SUCCESS in 1h 08m 12s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/7d8133f77f264180b8c6b5276d9125bc : SUCCESS in 1h 16m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/52772acc7a364f7885d1610293f11516 : SUCCESS in 4m 21s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/bcbdf59bc05143c2a36138dcc73ac774 : SUCCESS in 9m 07s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/13af868d64f849b69be6b293bf9bd00f : SUCCESS in 13m 48s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/34f2c2e4dec749c5913de4f1e546ae83 : SUCCESS in 13m 00s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eb747d53e5b34e64bc5ec795211b4284 : SUCCESS in 6m 14s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/a0249bf3e0ee423da69a2f53e8eeb195 : SUCCESS in 1h 19m 47s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/0d098c25f35a4498be6e9ffbb3da5eb9 : SUCCESS in 1h 38m 19s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/ca1e163410e7434181d08c4015033e8f : SUCCESS in 57m 09s\n- nova-vtpm https://zuul.opendev.org/t/openstack/build/ae92127bc8bd4e639da3669ec58c552c : SUCCESS in 33m 34s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/7142134c4e7b43c5a335a4fa7b6bf751 : SUCCESS in 1h 04m 31s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/f7167b8d43264ee2938f02123c2bf3b6 : SUCCESS in 56m 37s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/9da78166b71b44d190c19312079580a8 : SUCCESS in 1h 55m 34s\n- nova-next https://zuul.opendev.org/t/openstack/build/a9f7209d56bf45acbd412ef5601a14ec : SUCCESS in 2h 31m 25s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/2af7dbe4649442879d13614f3de9442e : SUCCESS in 1h 00m 30s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/2ffccbba487b4cf29566bf47c5c5fe56 : SUCCESS in 5m 06s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/791af4523a4d434fabf20606b037dec3 : SUCCESS in 31m 23s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/31cd475c46dc40cda51a34015e45f908 : SUCCESS in 27m 38s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/473efab7a4e04581ab741f0d459f3ad6 : SUCCESS in 1h 31m 46s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/4c1c34c15baa4df5afa6fdfc434f9f25 : SUCCESS in 1h 02m 48s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/8bbf3aa9357c4185b1c13ca0b6b07109 : SUCCESS in 31m 31s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/72e1fc3a1b614065b0c4347db4a02a96 : SUCCESS in 35m 32s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/3a3487734fc74a7a8be8ee184742e776 : SUCCESS in 13m 59s","accounts_in_message":[],"_revision_number":1},{"id":"9cffeff026089c3701697519001968263fe84dbc","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-04-21 21:10:22.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9ada1f6121cd510980bb3d7237cc21b86a2e4589","revisions":{"9ada1f6121cd510980bb3d7237cc21b86a2e4589":{"kind":"REWORK","_number":1,"created":"2026-04-21 18:23:05.000000000","uploader":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"ref":"refs/changes/17/985717/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/17/985717/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/17/985717/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/17/985717/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/17/985717/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/17/985717/1"}}},"commit":{"parents":[{"commit":"8d4dcd8afee29f6c237c4643057ac7deae518bcd","subject":"objects: Prepare for oslo.versionedobjects 3.10.0","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8d4dcd8afee29f6c237c4643057ac7deae518bcd"}]}],"author":{"name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","date":"2026-03-09 15:44:18.000000000","tz":-240},"committer":{"name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","date":"2026-04-21 18:18:36.000000000","tz":-240},"subject":"Feat: Add Command for Forceful BDM Deletion","message":"Feat: Add Command for Forceful BDM Deletion\n\nAdd a command nova-manage volume_attachment remove \u003cserver_uuid\u003e\n\u003cvol_uuid\u003e that forcefully deletes the corresponding attachment record\nfrom the Nova DB BDM table if one exists. This should be reserved for\nspecific situations where the record only exists in Nova, and not in\nCinder (the known root cause of such issue is an Oslo Timeout as\noutlined in LP: #2141355)\n\nChange-Id: Ifb03d04d8b80827735cb2905887c2eec3bd701a4\nSigned-off-by: Bryan Fraschetti \u003cbryan.fraschetti@canonical.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9ada1f6121cd510980bb3d7237cc21b86a2e4589"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9ada1f6121cd510980bb3d7237cc21b86a2e4589"}]},"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":""}}}]}
