Bug 1758743 - RHEL6.10 DVD misses dm-queue-length driver, preventing installation on PURE FlashArray LUNs [NEEDINFO]
Summary: RHEL6.10 DVD misses dm-queue-length driver, preventing installation on PURE F...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: releng
Version: 6.10
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Release Engineering Bug Triage
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-10-05 08:24 UTC by Renaud Métrich
Modified: 2023-03-24 15:36 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-09 12:09:18 UTC
Target Upstream Version:
Embargoed:
rmetrich: needinfo? (esyr)


Attachments (Terms of Use)

Description Renaud Métrich 2019-10-05 08:24:02 UTC
Description of problem:

A customer reports that installing a RHEL 6.10 on PURE FlashArray fails due to missing dm-queue-length.ko driver in the initrd.

We delivered him the driver as part of a Device Driver image and he could confirm he can now install the system.

His multipath configuration is shown below:

       device {
                 vendor "PURE"
                 product "FlashArray"
                 path_grouping_policy multibus
                 getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
                 path_selector "queue-length 0"
                 ...
       }


Still there is something weird: customer claims that RHEL6.8 DVD just works, even though dm-queue-length is also not shipped.
My assumption is that some fallback mechanism happens with kernel 2.6.32-642.el6.x86_64 (RHEL6.8 DVD) but not with kernel 2.6.32-754.el6.x86_64 (RHEL6.10 DVD).

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

RHEL6.10 DVD

How reproducible:

Always on customer site

Comment 2 Jose Castillo 2019-10-07 14:28:29 UTC
The patch to add the PURE FlashArray, which contained the explicit use of 'queue-length', was introduced via the following commit and patch:

	commit 9c8b406ac33c5d5a0521c81f4e2416456c9f971e
	Author: Benjamin Marzinski <bmarzins>
	Date:   Thu Nov 3 20:30:44 2016 -0500
	
		device-mapper-multipath-0.4.9.96
	    
		Add 0258-UPBZ-1300414-PURE_config.patch
		[...]
		

The patch looks like this:
	
	---
	 libmultipath/hwtable.c  |   18 ++++++++++++++++++
	 multipath.conf.defaults |   18 ++++++++++++++++++
	 2 files changed, 36 insertions(+)
	
	Index: multipath-tools/libmultipath/hwtable.c
	===================================================================
	--- multipath-tools.orig/libmultipath/hwtable.c
	+++ multipath-tools/libmultipath/hwtable.c
	@@ -1351,6 +1351,24 @@ static struct hwentry default_hw[] = {
	 		.checker_name  = TUR,
	 		.prio_name     = DEFAULT_PRIO,
	 	},
	+	{
	+		.vendor        = "PURE",
	+		.product       = "FlashArray",
	+		.getuid        = DEFAULT_GETUID,
	+		.features      = DEFAULT_FEATURES,
	+		.hwhandler     = DEFAULT_HWHANDLER,
	+		.selector      = "queue-length 0",
	+		.pgpolicy      = MULTIBUS,
	+		.pgfailback    = -FAILBACK_IMMEDIATE,
	+		.checker_name  = TUR,
	+		.fast_io_fail  = 10,
	+		.user_friendly_names = USER_FRIENDLY_NAMES_OFF,
	+		.prio_name     = DEFAULT_PRIO,
	+		.dev_loss      = 60,
	+		.rr_weight     = RR_WEIGHT_NONE,
	+		.minio         = DEFAULT_MINIO,
	+		.minio_rq      = DEFAULT_MINIO_RQ,
	+	},
	 	/*
	 	 * EOL
	 	 */
	Index: multipath-tools/multipath.conf.defaults
	===================================================================
	--- multipath-tools.orig/multipath.conf.defaults
	+++ multipath-tools/multipath.conf.defaults
	@@ -1190,4 +1190,22 @@
	 #		rr_min_io 1000
	 #		rr_min_io_rq 1
	 #	}
	+#	device {
	+#		vendor "PURE"
	+#		product "FlashArray"
	+#		path_grouping_policy multibus
	+#		getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
	+#		path_selector "queue-length 0"
	+#		path_checker tur
	+#		features "0"
	+#		hardware_handler "0"
	+#		prio const
	+#		failback immediate
	+#		rr_weight uniform
	+#		rr_min_io 1000
	+#		rr_min_io_rq 1
	+#		fast_io_fail_tmo 10
	+#		dev_loss_tmo 60
	+#		user_friendly_names no
	+#	}
	 #}

Before introducing this entry, this device was using the defaults, which involves 'round-robin'. Now, in RHEL 6.8 we had the following version of multipath:

device-mapper-multipath-0.4.9.93

In RHEL 6.9, we had:

device-mapper-multipath-0.4.9.100.1

So the patch was introduced in an upgrade after RHEL 6.8 and before RHEL 6.9. If the ISO was created before the patch was introduced, which is probably what happened here, then that's the reason why 6.8 installation worked, but  6.10 (and possibly 6.9) don't.


Note You need to log in before you can comment on or make changes to this bug.