Bug 2049786

Summary: Error occurs when tripleo_multipathd role attempts to modify the multipath configuration
Product: Red Hat OpenStack Reporter: Alan Bishop <abishop>
Component: tripleo-ansibleAssignee: Alan Bishop <abishop>
Status: CLOSED ERRATA QA Contact: Tzach Shefi <tshefi>
Severity: high Docs Contact:
Priority: medium    
Version: 16.2 (Train)Keywords: Triaged
Target Milestone: z3   
Target Release: 16.2 (Train on RHEL 8.4)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tripleo-ansible-0.8.1-2.20220406160113.2d0ab9a.el8ost Doc Type: No Doc Update
Doc Text:
I chose "no doc update" because this bz fixes a problem discovered in the upstream code, but for a feature that Red Hat had not yet certified for OSP. https://bugzilla.redhat.com/show_bug.cgi?id=2047705 tracks how the feature will be supported in OSP. The OSP docs are being updated as well.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-22 16:03:29 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:
Bug Depends On:    
Bug Blocks: 2047705    

Description Alan Bishop 2022-02-02 17:17:38 UTC
Description of problem:

The tripleo_multipathd role will successfully deploy the multipathd daemon and configure services to access /etc/multipath.conf. However, if the THT parameters associated with multipathd are modified, an error occurs when a stack update attempts to refresh the multipath.conf file.

How reproducible: Always

Steps to Reproduce:

1. Use the tripleo_multipath role to deploy the multipathd daemon
2. Modify any THT multipathd parameter
3. Perform a stack update

Actual results:

The stack update fails when the new /etc/multipath.conf file is copied to the containers that need it:

Error: 2 errors occurred:
        * error copying to container: copier: put: error creating "/etc/multipath.conf": copier: put: error removing item to be overwritten "/etc/multipath.conf": unlinkat /etc/multipath.conf: device or resource busy
        * error copying from host: copier: get: "/etc/multipath.conf": error copying /etc/multipath.conf: io: read/write on closed pipe

Expected results: The stack update succeeds

Additional info: 

I suspect the problem may be related to recent versions of podman using file locks. The problem did not occur back when the feature was initially developed.

Comment 1 Alan Bishop 2022-03-21 18:34:25 UTC
Retargeting this for 16.2 in order to align it with bug #2047705 (the 16.2 BZ associated with tripleo deployment of multipath).

It's still POST because the fix has already merged on upstream stable/train, and we just need to wait for the first compose for 16.2.3.

Comment 4 Tzach Shefi 2022-05-11 11:24:15 UTC
Verified on:
openstack-tripleo-heat-templates-11.6.1-2.20220409014848.7c89b16.el8ost.noarch
tripleo-ansible-0.8.1-2.20220406160113.2d0ab9a.el8ost.noarch

Successfully deployed a netapp iSCSI backed multipath deployment via THT template. 

After initial deployment completed, I had added a customized multipath config and updated the overcloud. 
Which again resulted in a successful deployment, including customization of multipath config.

Good to verify.

Comment 9 errata-xmlrpc 2022-06-22 16:03:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Release of components for Red Hat OpenStack Platform 16.2.3 (Train)), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:4793