Bug 1981594

Summary: find_multipaths_timeout is overwritten by mpatchconf command
Product: Red Hat Enterprise Linux 9 Reporter: Ben Marzinski <bmarzins>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED CURRENTRELEASE QA Contact: Lin Li <lilin>
Severity: low Docs Contact:
Priority: low    
Version: CentOS StreamCC: agk, bmarzins, heinzm, lilin, msnitzer, nyewale, prajnoha, rmetrich, zkabelac
Target Milestone: betaKeywords: Triaged
Target Release: 9.0 BetaFlags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: device-mapper-multipath-0.8.6-4.el9 Doc Type: Bug Fix
Doc Text:
Cause: mpathconf wasn't correctly checking that there was one or more spaces between paramter names and their values, leading it to treat the find_multipaths_timeout parameter the same as find_multipaths parameter Consequence: If find_multipaths_timeout was set, and mpathconf was used to modify find_multipaths, it would convert the find_multipaths_timeout line into an invalid line. Fix: When mpathconf checks the existing multipath.conf file for parameters, it requires there to be one or more spaces between the parameter name and value Result: mpathconf no longer converts find_multipaths_timeout lines into invalid lines when updating the find_multipaths parameter.
Story Points: ---
Clone Of: 1979470 Environment:
Last Closed: 2021-12-07 21:52:33 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: 1979470    
Bug Blocks:    

Comment 1 Ben Marzinski 2021-07-13 20:28:14 UTC
Fix ported from RHEL8.

Comment 5 Lin Li 2021-07-20 09:46:22 UTC
Reproduced on device-mapper-multipath-0.8.6-3.el9
1,[root@storageqe-05 ~]# rpm -qa | grep multipath
device-mapper-multipath-libs-0.8.6-3.el9.x86_64
device-mapper-multipath-0.8.6-3.el9.x86_64

2, [root@storageqe-05 ~]# vim /etc/multipath.conf 
defaults {
    user_friendly_names yes
    find_multipaths yes
    find_multipaths_timeout 10
    enable_foreign "^$"
}

3,[root@storageqe-05 ~]# mpathconf --enable --with_multipathd y --find_multipaths strict

4[root@storageqe-05 ~]# cat /etc/multipath.conf
defaults {
	user_friendly_names yes
	find_multipaths strict
	enable_foreign "^$"
	find_multipaths strict 10  <----------------------find_multipaths_timeout is overwritten
}


Verified on device-mapper-multipath-0.8.6-4.el9
1,[root@storageqe-05 ~]# rpm -qa | grep multipath
device-mapper-multipath-libs-0.8.6-4.el9.x86_64
device-mapper-multipath-0.8.6-4.el9.x86_64

2,[root@storageqe-05 ~]# vim /etc/multipath.conf 
[root@storageqe-05 ~]# cat /etc/multipath.conf 
defaults {
	user_friendly_names yes
	find_multipaths yes
	enable_foreign "^$"
	find_multipaths_timeout 10
}

3,[root@storageqe-05 ~]# mpathconf --enable --with_multipathd y --find_multipaths strict

4,[root@storageqe-05 ~]# cat /etc/multipath.conf
defaults {
	user_friendly_names yes
	find_multipaths strict
	enable_foreign "^$"
	find_multipaths_timeout 10 <----------------------find_multipaths_timeout is not overwritten
}


Test result:When mpathconf checks the existing multipath.conf file for parameters, it requires there to be one or more spaces between the parameter name and value