)]}'
{"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-08-05 21:30:54.000000000","reason":"Someone else replied on the change"}},"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-08-05 23:05:56.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":"24dcc8d558b66b26730e2f18a69c2a40b7e5b422","_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":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-05 21:30:17.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":{"REVIEWER":[{"_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-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"},{"updated":"2026-08-05 21:30:54.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"},{"updated":"2026-08-05 23:05:56.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"}],"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},{"id":"29111f30b4f40e45fe1dc199f979ae990713477b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"date":"2026-08-05 19:20:51.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":"c7293d5807ef05f4d23a36a2fd9370240b9cb805","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-08-05 19:25:18.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I52679769b3e2ac52638b5a9670af9bb0c708b2f4 .","accounts_in_message":[],"_revision_number":2},{"id":"8d5893a2e643aa315ae8a613f5fe263eec688e12","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 19:54:03.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fe243e6836344d57b41d1e8ce968cbee\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/e4aae008d63d43eb9125c59f3831ccad : SUCCESS in 23m 26s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/dbf28792567a48f1b969c7c2f5be478e : SUCCESS in 16m 36s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/ca54de3c6a7b45508bad7ce8d0aa1d54 : SUCCESS in 30m 29s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"783e60de36a6cc233489b3febfe29aab5ce7ec27","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-05 21:30:17.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a37e59bec09b4cbaae604a1351ed3b60\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b3053396cfde4b4e9aeb554e87f0a46f : SUCCESS in 1h 03m 52s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/be03ced86e1d411bbd4667f1f4973ca8 : SUCCESS in 1h 53m 23s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c75a4248313e4c49b71f061ccbf369f6 : SUCCESS in 1h 04m 03s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/34c0ea0c8075499a9e501453db9cde01 : SUCCESS in 1h 04m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5523e6c48c1c41058a2768e47d36a288 : SUCCESS in 9m 40s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/71f835a4d5e443be913d7ae759b8549b : SUCCESS in 13m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/a74d22c4beed4135993ecffaa80f165d : SUCCESS in 8m 30s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/529071195c7f44a7abe1d00251e390f8 : SUCCESS in 18m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5058636fac324c0f81fbc11724940499 : SUCCESS in 6m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a0ffebbc33ba4db886e6565c9bb8d89f : SUCCESS in 4m 31s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/0e45935c5a454a8c82e811d9dbf7b749 : SUCCESS in 29m 03s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/0120b155123644698dc93d5aa1679136 : SUCCESS in 1h 34m 35s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/899e566b4a864f14a4911b525a66d998 : SUCCESS in 25m 47s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/881eb4f6a9f44080884a515736a5250e : SUCCESS in 35m 32s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/2552e976dc674858b91fc2259755fc01 : SUCCESS in 1h 04m 38s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/12a411d946b54396b3ff8b68816c9715 : SUCCESS in 50m 44s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/556cd509cf88494aafccc105faccc6f4 : SUCCESS in 2h 00m 51s\n- nova-next https://zuul.opendev.org/t/openstack/build/cdb6c90c2aaa465c8b4942e6c8b1974b : SUCCESS in 2h 03m 30s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/188b4e8364b54f118019d211bc946131 : SUCCESS in 51m 02s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/33efc99034d346b997182591991bc255 : SUCCESS in 5m 35s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/57392132c6e1427bbee9cdff2778f2a5 : SUCCESS in 26m 48s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/e053634ac2ab44e9813094ae8f457833 : SUCCESS in 26m 31s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/ad5a1614b33542f8a5be567ff4b4a942 : FAILURE in 42m 00s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/a7bdc9979b10451a8f1c5104d7798829 : SUCCESS in 1h 33m 33s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d2b5a0c5d312495e91d5b7c7593365da : SUCCESS in 1h 00m 58s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/7712a98015754000944c8637f1defee8 : SUCCESS in 52m 43s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/ad61766e1be148a795e098ed8deea414 : SUCCESS in 17m 30s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/34f05f79b8f54f058533468ef23bab57 : SUCCESS in 8m 58s","accounts_in_message":[],"_revision_number":2},{"id":"97b466f0489834914cd195bd1ec63c4ce2717e40","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-08-05 21:41:16.000000000","message":"Patch Set 2:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":2},{"id":"24dcc8d558b66b26730e2f18a69c2a40b7e5b422","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-05 23:05:56.000000000","message":"Patch Set 2:\n\nIgnore for now: Test failed. Logs on \u003chttp://openstack-ci-logs.global.cloud.sap/openstack-nova-985719-2gzl5/index.html\u003e","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"56f1d2a4e75c984364131d1a600bc0d661d26416","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"},"56f1d2a4e75c984364131d1a600bc0d661d26416":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-08-05 19:20:51.000000000","uploader":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"ref":"refs/changes/19/985719/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/19/985719/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/19/985719/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/19/985719/2"}}},"commit":{"parents":[{"commit":"4c79abf910583ddb89833fc1d79ee1664d64bb32","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/4c79abf910583ddb89833fc1d79ee1664d64bb32"}]}],"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-08-05 19:11:23.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/56f1d2a4e75c984364131d1a600bc0d661d26416"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/56f1d2a4e75c984364131d1a600bc0d661d26416"}]},"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":""}}}]}
