Bug 1508483

Summary: device-mapper-multipath package does not create configuration files properly
Product: Red Hat Enterprise Linux 7 Reporter: Michael Watters <wattersm>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED ERRATA QA Contact: Lin Li <lilin>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: agk, bmarzins, heinzm, jbrassow, lilin, msnitzer, prajnoha, rhandlin
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: device-mapper-multipath-0.4.9-120.el7 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-30 11:27:28 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 Michael Watters 2017-11-01 14:11:11 UTC
Description of problem:

After installing the device-mapper-multipath package the multipathd service will fail to start due to a missing configuration file.  systemctl status multipathd.service shows the following output.

[root@server ~]# systemctl status multipathd
● multipathd.service - Device-Mapper Multipath Device Controller
   Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
Condition: start condition failed at Wed 2017-11-01 08:36:53 EDT; 4s ago
           ConditionPathExists=/etc/multipath.conf was not met

multipath -l also shows that the configuration file is missing.

root@server ~]# multipath -l
Nov 01 08:36:02 | DM multipath kernel driver not loaded
Nov 01 08:36:02 | /etc/multipath.conf does not exist, blacklisting all devices.
Nov 01 08:36:02 | A default multipath.conf file is located at
Nov 01 08:36:02 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Nov 01 08:36:02 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf
Nov 01 08:36:02 | DM multipath kernel driver not loaded

Running /sbin/mpathconf  does not create the file as expected.  I was able to get multipathd working after manually loading the dm_multipath module and creating the configuration file by copying from another server.

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

0.4.9-111

How reproducible:


Steps to Reproduce:
1. yum -y install device-mapper-multipath
2. Run multipath -l or systemctl start multipathd.service


Actual results:

multipathd.service fails to start.  /sbin/mpathconf does not generate a configuration file.

Expected results:

Configuration file is created automatically.  multipathd.service starts with no errors.

Comment 2 Ben Marzinski 2017-11-02 18:32:32 UTC
You need to run

# mpathconf --enable

Neither the error message nor the mpathconf man page are very clear that you need the "--enable" option to also create the file in the first place. I'll fix that.

Comment 3 Ben Marzinski 2018-01-04 19:33:04 UTC
*** Bug 1508448 has been marked as a duplicate of this bug. ***

Comment 4 Ben Marzinski 2018-06-13 20:32:01 UTC
Docs cleaned up.

Comment 6 Lin Li 2018-07-27 00:17:12 UTC
Reproduced on device-mapper-multipath-0.4.9-111.el7
1, [root@storageqe-85 ~]# yum -y install device-mapper-multipath

2, [root@storageqe-85 ~]# rpm -qa | grep multipath
device-mapper-multipath-0.4.9-111.el7.x86_64
device-mapper-multipath-libs-0.4.9-111.el7.x86_64

3, [root@storageqe-85 ~]# multipath -l
Jul 27 01:50:47 | DM multipath kernel driver not loaded
Jul 27 01:50:47 | /etc/multipath.conf does not exist, blacklisting all devices.
Jul 27 01:50:47 | A default multipath.conf file is located at
Jul 27 01:50:47 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Jul 27 01:50:47 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf            <-------------------------
Jul 27 01:50:47 | DM multipath kernel driver not loaded

4,[root@storageqe-85 ~]# /sbin/mpathconf
multipath is enabled
find_multipaths is enabled
user_friendly_names is enabled
dm_multipath module is not loaded
multipathd is not running

5, [root@storageqe-85 ~]# multipath -l
Jul 27 01:53:56 | DM multipath kernel driver not loaded
Jul 27 01:53:56 | /etc/multipath.conf does not exist, blacklisting all devices.
Jul 27 01:53:56 | A default multipath.conf file is located at
Jul 27 01:53:56 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Jul 27 01:53:56 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf
Jul 27 01:53:56 | DM multipath kernel driver not loaded




Verified on device-mapper-multipath-0.4.9-121.el7
1, [root@storageqe-85 ~]# rpm -qa | grep multipath
device-mapper-multipath-0.4.9-121.el7.x86_64
device-mapper-multipath-libs-0.4.9-121.el7.x86_64

2, [root@storageqe-85 ~]# multipath -l
Jul 27 01:59:39 | DM multipath kernel driver not loaded
Jul 27 01:59:39 | /etc/multipath.conf does not exist, blacklisting all devices.
Jul 27 01:59:39 | A default multipath.conf file is located at
Jul 27 01:59:39 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Jul 27 01:59:39 | You can run /sbin/mpathconf --enable to create   <---------
Jul 27 01:59:39 | /etc/multipath.conf. See man mpathconf(8) for more details
Jul 27 01:59:39 | DM multipath kernel driver not loaded

3, [root@storageqe-85 ~]# /sbin/mpathconf --enable

4, [root@storageqe-85 ~]# multipath -l

5, [root@storageqe-85 ~]# cat /etc/multipath.conf 
# This is a basic configuration file with some examples, for device mapper
# multipath.
#
# For a complete list of the default configuration values, run either
# multipath -t
# or
# multipathd show config
#
# For a list of configuration options with descriptions, see the multipath.conf
# man page

## By default, devices with vendor = "IBM" and product = "S/390.*" are
## blacklisted. To enable mulitpathing on these devies, uncomment the
## following lines.
#blacklist_exceptions {
#	device {
#		vendor	"IBM"
#		product	"S/390.*"
#	}
#}

## Use user friendly names, instead of using WWIDs as names.
defaults {
	user_friendly_names yes
	find_multipaths yes
}
##
## Here is an example of how to configure some standard options.
##
#
#defaults {
#	polling_interval 	10
#	path_selector		"round-robin 0"
#	path_grouping_policy	multibus
#	uid_attribute		ID_SERIAL
#	prio			alua
#	path_checker		readsector0
#	rr_min_io		100
#	max_fds			8192
#	rr_weight		priorities
#	failback		immediate
#	no_path_retry		fail
#	user_friendly_names	yes
#}
##
## The wwid line in the following blacklist section is shown as an example
## of how to blacklist devices by wwid.  The 2 devnode lines are the
## compiled in default blacklist. If you want to blacklist entire types
## of devices, such as all scsi devices, you should use a devnode line.
## However, if you want to blacklist specific devices, you should use
## a wwid line.  Since there is no guarantee that a specific device will
## not change names on reboot (from /dev/sda to /dev/sdb for example)
## devnode lines are not recommended for blacklisting specific devices.
##
#blacklist {
#       wwid 26353900f02796769
#	devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#	devnode "^hd[a-z]"
#}
#multipaths {
#	multipath {
#		wwid			3600508b4000156d700012000000b0000
#		alias			yellow
#		path_grouping_policy	multibus
#		path_selector		"round-robin 0"
#		failback		manual
#		rr_weight		priorities
#		no_path_retry		5
#	}
#	multipath {
#		wwid			1DEC_____321816758474
#		alias			red
#	}
#}
#devices {
#	device {
#		vendor			"COMPAQ  "
#		product			"HSV110 (C)COMPAQ"
#		path_grouping_policy	multibus
#		path_checker		readsector0
#		path_selector		"round-robin 0"
#		hardware_handler	"0"
#		failback		15
#		rr_weight		priorities
#		no_path_retry		queue
#	}
#	device {
#		vendor			"COMPAQ  "
#		product			"MSA1000         "
#		path_grouping_policy	multibus
#	}
#}

blacklist {
}



Test result: You can run /sbin/mpathconf --enable to create /etc/multipath.conf.
the "--enable" option is in the error message.

Comment 8 errata-xmlrpc 2018-10-30 11:27:28 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, 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-2018:3236