Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1899581

Summary: MessagingTimeout while in nova.compute.api.API._create_volume_bdm can leave orphaned BDM records in the database
Product: Red Hat OpenStack Reporter: Lee Yarwood <lyarwood>
Component: openstack-novaAssignee: OSP DFG:Compute <osp-dfg-compute>
Status: CLOSED WONTFIX QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: medium Docs Contact:
Priority: medium    
Version: 17.0 (Wallaby)CC: alifshit, bdobreli, dasmith, eglynn, jhakimra, kchamart, sbauza, sgordon, vromanso
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-23 15:19:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lee Yarwood 2020-11-19 15:42:27 UTC
Description of problem:

Bug #1898578 details a failure to attach a volume to an instance where n-cpu raises MessageUndeliverable after creating a BDM record. This results in n-api eventually raising MessagingTimeout and the overall request failing.

This leaves a BDM record in the database suggesting that the volume is attached to the instance when in fact it is not. n-api should rollback and remove any BDM records created by n-cpu when it encounters MessagingTimeout.

This issue was previously raised in bug #1752734 but assumed resolved by other fixes to oslo.messaging that landed later in Rocky.

Version-Release number of selected component (if applicable):
17 / master

How reproducible:
Always

Steps to Reproduce:
1. Cause MessagingTimeout to be raised from calls to reserve_block_device_name


Actual results:
BDM records created by n-cpu are not cleaned up by n-api.


Expected results:
BDM records created by n-cpu are cleaned up by n-api.

Additional info: