)]}'
{"id":"openstack%2Fnova~985719","triplet_id":"openstack%2Fnova~master~I52679769b3e2ac52638b5a9670af9bb0c708b2f4","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:14:03.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I52679769b3e2ac52638b5a9670af9bb0c708b2f4","subject":"Reject Volume Attachment if task_state not Attaching","status":"NEW","created":"2026-04-21 18:23:05.000000000","updated":"2026-04-21 21:14:03.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":"dba2c1046163b446b1835ad4eaf31f659ba2ebe8","_number":985719,"virtual_id_number":985719,"owner":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-04-21 21:14:03.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"]}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-21 19:03:32.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:36:51.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:14:03.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"}],"messages":[{"id":"7706320a4ab5165034e412b02136f81b285ba29b","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":"a5be1facfa2a363662a7ea088521c8cb8e316e4e","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-21 19:03:32.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I52679769b3e2ac52638b5a9670af9bb0c708b2f4 .","accounts_in_message":[],"_revision_number":1},{"id":"5b182e7be9d98c8f219de4e05544bc1362f95b7d","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 19:36:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f34de46019194d98bdfae487e2c5de23\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/c1faa2c40c0b494783ca63254fb91ca7 : SUCCESS in 21m 59s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/78abc8a3ff1d4626a181525725f27aae : SUCCESS in 12m 55s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/0759dddc947d48639620ebaac04d239d : SUCCESS in 26m 26s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"dba2c1046163b446b1835ad4eaf31f659ba2ebe8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-21 21:14:03.000000000","message":"Patch Set 1: 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/a173683057fc45c28e912c74a1992fa5\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/172736ee0cc74b65bd90961ab4722040 : SUCCESS in 34m 44s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/f1a47cdb889144ff825aab1fdff2cdad : SUCCESS in 2h 06m 58s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/86a414ca134f4d288e3e1eed811f22b9 : SUCCESS in 1h 07m 01s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a7d01ec7be9a489d83d21ec582a5cd23 : FAILURE in 49m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ec05b25b4f3845af9a54505ab3bb9c55 : SUCCESS in 7m 28s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/919c38fd8b5646a9b613c3f25e0c86dd : SUCCESS in 15m 15s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/ed060d7d2ef94270bed1411a949dfe9b : SUCCESS in 10m 15s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/d0d43d2a956e4cac9652e78f68156004 : SUCCESS in 20m 01s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9098a4fbe6d347b986a9ed332ffe580e : SUCCESS in 10m 39s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/8141199e922e4b0da268e70dfbb77196 : SUCCESS in 51m 26s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/15cfa570efd94b7ca0db4ec7564986ee : FAILURE in 2h 08m 48s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/26c30f212abc49f8a1cad6e34e4e112d : SUCCESS in 1h 00m 12s\n- nova-vtpm https://zuul.opendev.org/t/openstack/build/4350f382fb6d47f798594280fb604eda : SUCCESS in 32m 20s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/c29463e136d74f449ce60dc2553dbadd : SUCCESS in 43m 18s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/3eb428397eb74216bfdcb7c517a6c234 : SUCCESS in 29m 00s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/c8aabbe45f8f470a868165bc4438d99f : FAILURE in 2h 03m 15s\n- nova-next https://zuul.opendev.org/t/openstack/build/b5fcbd31cbec415ca06af060ac74aded : FAILURE in 2h 43m 06s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/d1dfd8da2c5243bca49263c86013ad98 : SUCCESS in 42m 31s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/ed6aeebee19b4efe9ae34ccfdaa3ef06 : SUCCESS in 6m 38s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/1ee4d7f016e14997adff315fcc153703 : SUCCESS in 27m 00s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/fa1d32e19f3b4a21b487c65327b376ce : FAILURE in 24m 49s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/16076a4ea0984fa5899f1a50572a09d4 : SUCCESS in 1h 08m 55s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e545e18a9408453e8cc6a397d8c87323 : SUCCESS in 1h 05m 25s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/9270d6bbd97a406f8ab659588a666036 : SUCCESS in 16m 20s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/016abfa79ac644deac498828ee62b101 : SUCCESS in 34m 21s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/c877dcf0c6744d0cac65192da5c121b6 : SUCCESS in 11m 09s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"9894d1090c5208e741f3321bd9cfabb2b4cde60e","revisions":{"9894d1090c5208e741f3321bd9cfabb2b4cde60e":{"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/19/985719/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/19/985719/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/19/985719/1"}}},"commit":{"parents":[{"commit":"eba9cd41c02b66c82726a83a01fa82171cbd0dd0","subject":"Reject to attach and detach volume while task_state is not None","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/eba9cd41c02b66c82726a83a01fa82171cbd0dd0"}]}],"author":{"name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","date":"2026-04-16 13:14:41.000000000","tz":-240},"committer":{"name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","date":"2026-04-21 18:22:21.000000000","tz":-240},"subject":"Reject Volume Attachment if task_state not Attaching","message":"Reject Volume Attachment if task_state not Attaching\n\nIn the event of an oslo timeout nova-cloud-controller sees the\nattachment as failed and sets the instance task_state to None. However,\nthe hypervisor handling the RPC may still be in the\nreserve_block_device_name and try to create a block device mapping\nrecord in the database. Since nova-cloud-controller considers the\nattachment as failed, it never notifies cinder and this creates a\ndiscrepancy between nova and cinder on whether the state of the volume\nis available or attached. This resolves the issue by stopping the\nattachment on the hypervisor side if it notices that\nnova-cloud-controller has reset the instance task_state.\n\nRelated-Bug: #2141355\nChange-Id: I52679769b3e2ac52638b5a9670af9bb0c708b2f4\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/9894d1090c5208e741f3321bd9cfabb2b4cde60e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9894d1090c5208e741f3321bd9cfabb2b4cde60e"}]},"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":""}}}]}
