)]}'
{"id":"openstack%2Fnova~1006011","triplet_id":"openstack%2Fnova~master~I633f09d0b02be9d1f85c311b77ebd399b15d3611","project":"openstack/nova","branch":"master","attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2026-09-17 15:46:32.000000000","reason":"\u003cGERRIT_ACCOUNT_7166\u003e replied on the change","reason_account":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}},"7166":{"account":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"last_update":"2026-09-18 10:42:56.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I633f09d0b02be9d1f85c311b77ebd399b15d3611","subject":"Reject stale reserve_block_device_name RPC on compute","status":"NEW","created":"2026-09-17 10:38:43.000000000","updated":"2026-09-18 14:11:59.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":12,"unresolved_comment_count":5,"has_review_started":true,"meta_rev_id":"669a816a6527bf89ccf4f0f389ce92f12e8bbda8","_number":1006011,"virtual_id_number":1006011,"owner":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-18 10:39:45.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":{"disliked":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":-1,"date":"2026-09-18 14:11:59.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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":"","value":-1,"default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"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"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_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":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-17 11:29: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":"CC"},{"updated":"2026-09-17 11:34:01.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-09-17 11:51: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-09-17 12:29:43.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-09-17 12:29: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-09-18 14:11:59.000000000","updated_by":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"reviewer":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"state":"REVIEWER"}],"messages":[{"id":"7f91c07e5ac2681770e59067e7e79e6836764f0e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2026-09-17 10:38:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"6ca72b5f19f10ce1fbaedf37393fbf7d561a1d1c","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2026-09-17 11:29:10.000000000","message":"Patch Set 1:\n\n(6 comments)","accounts_in_message":[],"_revision_number":1},{"id":"18964e3cfbb8ab78e5255389e986f82dba5af634","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-09-17 11:34:01.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I633f09d0b02be9d1f85c311b77ebd399b15d3611 .","accounts_in_message":[],"_revision_number":1},{"id":"4b1a7c14334008f7953dda1693164edb73e8972a","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 11:51:47.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/46fc8fbeb125407db189d94c90a8d2b0\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/ebc26de8242442029be1a8ba21e65a1f : SUCCESS in 27m 36s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/ac7a3c493f944871a5bf66baaaab9442 : SUCCESS in 23m 50s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/3c55bb43dc284c4bb4a4b946a6e06654 : SUCCESS in 19m 03s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"9d9b7ac27140465ac3f67c53d0bd651212477014","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-17 12:29:43.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/69b72a8c262d4011949b17f7ac131edc\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/5eb024b0f5c1415b86fbdd9477c6e368 : SUCCESS in 53m 10s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/4e6997ec20cb4216a86644c5cf131278 : SUCCESS in 1h 36m 42s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/7cfe41ea252d46598f9a5fb7271fe51b : SUCCESS in 45m 38s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/db295b09d1364dd5b3ee3b1fcdbbc8b2 : TIMED_OUT in 1h 41m 55s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/26910e85c2264a93994c35a82f4ba57b : SUCCESS in 7m 37s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3a9b5bd090874501875d3d0b630d9d89 : SUCCESS in 13m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e796ab07aa304e9da05c6a1a93ec98c5 : SUCCESS in 13m 30s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ea99bb1d8e4b49d8bcbfce94b07a9b50 : SUCCESS in 20m 33s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c99b20d3a63b4b2ea83386f3715367c5 : SUCCESS in 14m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1791e37a90dd4866a8a392efc3930d03 : SUCCESS in 10m 04s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/9fcb6106bd32443e9b44061cd83c0b17 : SUCCESS in 57m 30s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/45d3447b4a2d4ef4b4c05290b7adda04 : SUCCESS in 1h 22m 38s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/2fcceb4d65034de29de9ba4764c71b04 : SUCCESS in 47m 36s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/156bb2f5505a432f9bb18767d3afe8d3 : SUCCESS in 41m 05s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/9a4277d201eb46d3a8f3667145c60018 : SUCCESS in 1h 02m 40s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/8591ea2475a44a8ab1adc8783c506c0c : SUCCESS in 51m 23s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/54fc8d9ba64f4f398b245bfd9d0e3649 : SUCCESS in 1h 42m 00s\n- nova-next https://zuul.opendev.org/t/openstack/build/42ef94c7173a46ae8168c99767525c0d : SUCCESS in 1h 41m 17s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/b22c90b5a81340d1b2d672adb37846ca : SUCCESS in 49m 46s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/27a5c9d0bc4840b6a9f3194aeb9395f3 : SUCCESS in 5m 01s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/e50c1df1396e4ec78f79d2ea3212fab7 : SUCCESS in 23m 13s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/088418b9d0e5491a98f5b906e3e25d09 : SUCCESS in 27m 16s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/031fa1ec49c84dd08a3c7abf6eed2c30 : SUCCESS in 34m 02s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/e3b9455410924de9a0440d0b6d7639ce : SUCCESS in 1h 25m 24s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/42250ccd5e8e403d9b872198a379c6aa : SUCCESS in 1h 00m 23s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/b01cf587cc2d4417b202f554ddf73f3b : SUCCESS in 43m 16s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/078536cdd4754954807f70bf471cc43d : SUCCESS in 35m 29s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/0b7736e486a6420f961e54ff1bf19670 : SUCCESS in 18m 18s","accounts_in_message":[],"_revision_number":1},{"id":"df24971816f49f675980763de923e46d34cf8304","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-17 12:39:15.000000000","message":"Patch Set 1:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":1},{"id":"d3c0d7bee57726ed11a2327371fa6bd5842de4f0","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2026-09-17 15:46:32.000000000","message":"Patch Set 1: Workflow-1\n\n(5 comments)","accounts_in_message":[],"_revision_number":1},{"id":"bcce506eb4eb471006a68f0b9a6694ca72c22b3a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"date":"2026-09-18 08:35:11.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n* Workflow-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"51299d0e23f2654540256899f21b2491e39f0e06","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 09:23:51.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/98681dee3ce54458859cb0efb0802fda\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/00fe601c3afc448a9a2cc21dadd9e7df : SUCCESS in 22m 02s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/1fa7f1dc591a4e729820e28616ae182e : SUCCESS in 22m 19s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/bd778eb1a8744d33a04f55c67be8fd6b : SUCCESS in 32m 56s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"d9aaaed7dc2797a0548ed0e57c3a0e3661c9601c","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-09-18 09:31:15.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* quobyteci:  nova_quobyteci : FAILURE, logs at: https://oscilogs.quobyte.com/logs/I633f09d0b02be9d1f85c311b77ebd399b15d3611 .","accounts_in_message":[],"_revision_number":2},{"id":"c9253c990bac469ff55ba4965b7e8fc71e40cb6e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-18 10:39:45.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/00e7f04ca46048b68145e10abfcde381\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/778f7446b5e24085926f014bfac81f9d : SUCCESS in 1h 05m 56s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/f506874568dc47d8bd176266e5e62a82 : SUCCESS in 1h 46m 48s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/efe617c30cfe4ee79a08249446ae38b4 : SUCCESS in 50m 33s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/ede7f9a1d5894178b841bead2aa625b2 : TIMED_OUT in 1h 41m 44s (non-voting)\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/284e4e11ac5842e380dad469273339e5 : SUCCESS in 9m 20s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b0234a0f71434632a6f8e5f185b5b470 : SUCCESS in 16m 36s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e3213b3ada9947668c88ae8eba1668dc : SUCCESS in 14m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/978962fc09bd4fc8b5515689b07b3d9a : SUCCESS in 19m 04s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/060e1507627c4587934573d1a93aa724 : SUCCESS in 12m 52s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c28340f3471540c7bc5615e6dbcc2345 : SUCCESS in 8m 50s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/3b75eca9fa6f4d749612e1e5b7f1a756 : SUCCESS in 1h 18m 03s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/5baa5c02a5234667ae782c1288b5abdc : SUCCESS in 1h 41m 26s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/b869050f8c1d4e2186b872b835de5d90 : SUCCESS in 55m 13s\n- nova-whitebox https://zuul.opendev.org/t/openstack/build/ebbe480c5a2d4596b4f913d583ab764b : SUCCESS in 34m 44s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/ca0a79c1e34e48c8ac40cecb6b11a101 : SUCCESS in 58m 50s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/b727dbef83c446d2872796383f91f25d : SUCCESS in 54m 48s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/ddcc074996ca4bc8bdbe67ee9d976b38 : SUCCESS in 1h 57m 19s\n- nova-next https://zuul.opendev.org/t/openstack/build/0db86d24df854e979700ea5a535d4db9 : SUCCESS in 1h 42m 13s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/8f5bcff58fab49aebf3541d4a900873b : SUCCESS in 42m 52s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/44239f2952004443bf929d0fbd81e550 : SUCCESS in 5m 13s (non-voting)\n- nova-tox-functional-py311 https://zuul.opendev.org/t/openstack/build/575ab94141e742dbb6dcf221de946185 : SUCCESS in 27m 43s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/438c097bee2549b9bf8043db7f43c507 : SUCCESS in 28m 50s\n- nova-tox-functional-py313-threading https://zuul.opendev.org/t/openstack/build/1e51c28aa02f4aa7887ae49dca322f5f : SUCCESS in 33m 25s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/d2d86e14eb684ab0afa5dbe447c7a993 : SUCCESS in 1h 33m 05s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7f3d8c6685d847d7a13c21a77fe72db4 : SUCCESS in 43m 33s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/640623fabc7546188dd861610324b2f7 : SUCCESS in 57m 15s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/e37dd3da605d4eb9954e40087452ae6a : SUCCESS in 34m 18s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/15a5ab3022664c6bae74b981dcc90754 : SUCCESS in 16m 37s","accounts_in_message":[],"_revision_number":2},{"id":"be9de7666e5aa386e4de7019486c228e3a0c7810","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-18 10:52:00.000000000","message":"Patch Set 2:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":2},{"id":"669a816a6527bf89ccf4f0f389ce92f12e8bbda8","author":{"_account_id":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"},"date":"2026-09-18 14:11:59.000000000","message":"Patch Set 2: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"b2b3392e614e983812e09d4a150c96affc3023d8","revisions":{"491c4d1e86ec9dbbe097503276006d8b3c5a05b4":{"kind":"REWORK","_number":1,"created":"2026-09-17 10:38:43.000000000","uploader":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"ref":"refs/changes/11/1006011/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/11/1006011/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/11/1006011/1"}}},"commit":{"parents":[{"commit":"cabe711e58bcb9e314098361f61dfb0215436e6c","subject":"Guard against deleting a concurrent request\u0027s BDM on timeout","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/cabe711e58bcb9e314098361f61dfb0215436e6c"}]}],"author":{"name":"Sylvain Bauza","email":"sbauza@redhat.com","date":"2026-09-17 10:16:02.000000000","tz":120},"committer":{"name":"Sylvain Bauza","email":"sbauza@redhat.com","date":"2026-09-17 10:36:35.000000000","tz":120},"subject":"Reject stale reserve_block_device_name RPC on compute","message":"Reject stale reserve_block_device_name RPC on compute\n\nWhen the conductor sends a reserve_block_device_name RPC call to\ncompute and compute is stalled (e.g. the instance lock is held by\nanother operation), the conductor\u0027s call_monitor_timeout fires after\nrpc_response_timeout seconds because no heartbeat was received. The\nconductor raises MessagingTimeout and moves on.\n\nHowever, when compute eventually dequeues and processes the stale\nmessage, it still creates a BDM in the database. Since the conductor\nalready gave up, attach_volume will never be called for this BDM,\nleaving an orphan record that blocks future attachment attempts for\nthe same volume on the same instance (the duplicate check in\ndo_reserve raises InvalidVolume).\n\nTo prevent this, check the age of the request before creating the\nBDM. The context.timestamp reflects the original API request time,\nand the conductor sends the RPC almost immediately after, so elapsed\ntime is a reliable proxy for how long the message has been waiting.\nIf the request is older than rpc_response_timeout, the conductor has\nalmost certainly timed out (that value is used as the\ncall_monitor_timeout for this specific RPC call) and any BDM created\nwould be orphaned.\n\nUsing rpc_response_timeout rather than long_rpc_timeout is deliberate:\nonce compute starts processing and sends heartbeats, the conductor\nswitches to the long_rpc_timeout deadline, but the LP #2141355\nscenario is specifically about compute not processing at all within\nthe heartbeat window.\n\nOrphan BDMs that slip through the narrow remaining window\n(rpc_response_timeout \u003c elapsed \u003c long_rpc_timeout, where compute\nwas stalled just past the heartbeat deadline but before the hard\ntimeout) currently have no automated cleanup path:\n_delete_dangling_bdms (called during hard reboot) only processes\nBDMs that have an attachment_id set, and there is no nova-manage\nvolume_attachment remove command yet. Manual DB cleanup is required\nfor those rare cases.\n\nChange-Id: I633f09d0b02be9d1f85c311b77ebd399b15d3611\nCloses-Bug: #2141355\nAssisted-By: Cursor claude-4.6-opus\nSigned-off-by: Sylvain Bauza \u003csbauza@redhat.com\u003e\nCo-authored-by: Cursor \u003ccursoragent@cursor.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/491c4d1e86ec9dbbe097503276006d8b3c5a05b4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/491c4d1e86ec9dbbe097503276006d8b3c5a05b4"}]},"branch":"refs/heads/master"},"b2b3392e614e983812e09d4a150c96affc3023d8":{"kind":"REWORK","_number":2,"created":"2026-09-18 08:35:11.000000000","uploader":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"ref":"refs/changes/11/1006011/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/11/1006011/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/11/1006011/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/11/1006011/2"}}},"commit":{"parents":[{"commit":"cabe711e58bcb9e314098361f61dfb0215436e6c","subject":"Guard against deleting a concurrent request\u0027s BDM on timeout","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/cabe711e58bcb9e314098361f61dfb0215436e6c"}]}],"author":{"name":"Sylvain Bauza","email":"sbauza@redhat.com","date":"2026-09-17 10:16:02.000000000","tz":120},"committer":{"name":"Sylvain Bauza","email":"sbauza@redhat.com","date":"2026-09-18 08:33:30.000000000","tz":120},"subject":"Reject stale reserve_block_device_name RPC on compute","message":"Reject stale reserve_block_device_name RPC on compute\n\nWhen the conductor sends a reserve_block_device_name RPC call to\ncompute and all compute RPC worker threads are busy, the message\nsits in the RabbitMQ queue undelivered. Since no worker thread\ndispatches it, oslo.messaging never starts heartbeats, and the\nconductor\u0027s call_monitor_timeout fires after rpc_response_timeout\nseconds. The conductor raises MessagingTimeout and moves on.\n\nHowever, when a worker thread eventually becomes free and processes\nthe stale message, it still creates a BDM in the database. Since\nthe conductor already gave up, attach_volume will never be called\nfor this BDM, leaving an orphan record that blocks future attachment\nattempts for the same volume on the same instance (the duplicate\ncheck in do_reserve raises InvalidVolume).\n\nNote that the instance lock (acquired inside do_reserve) cannot\ncause this timeout: once a worker thread picks up the message,\noslo.messaging calls dispatch() and starts the watchdog thread\nwhich sends heartbeats every rpc_response_timeout/2 seconds. From\nthat point the conductor switches to the long_rpc_timeout deadline\n(1800s by default). The rpc_response_timeout timeout only fires\nwhen no thread picks up the message at all.\n\nTo prevent this, check the age of the request before creating the\nBDM. The context.timestamp reflects the original API request time,\nand the conductor sends the RPC almost immediately after, so elapsed\ntime is a reliable proxy for how long the message has been waiting.\nIf the request is older than rpc_response_timeout, the conductor has\nalmost certainly timed out and any BDM created would be orphaned.\n\nUsing rpc_response_timeout as the threshold is conservative: the\noslo.messaging watchdog sends its first heartbeat after\nrpc_response_timeout/2 seconds of processing, so messages that sat\nin the queue between rpc_response_timeout/2 and rpc_response_timeout\nmay still produce orphans (the heartbeat arrives after the\nconductor\u0027s deadline). Those currently have no automated cleanup\npath: _delete_dangling_bdms (called during hard reboot) only\nprocesses BDMs with an attachment_id set, and there is no\nnova-manage volume_attachment remove command yet. Manual DB cleanup\nis required for those rare cases.\n\nChange-Id: I633f09d0b02be9d1f85c311b77ebd399b15d3611\nCloses-Bug: #2141355\nAssisted-By: Cursor claude-4.6-opus\nSigned-off-by: Sylvain Bauza \u003csbauza@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b2b3392e614e983812e09d4a150c96affc3023d8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/b2b3392e614e983812e09d4a150c96affc3023d8"}]},"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":37309,"name":"Bryan Fraschetti","display_name":"Bryan Fraschetti","email":"bryan.fraschetti@canonical.com","username":"bryanfraschetti"}},{"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":""}}}]}
