Bug 515171

Summary: Add support for Sun 6540 storage arrays.
Product: Red Hat Enterprise Linux 5 Reporter: Steven Whately <catapult>
Component: device-mapper-multipathAssignee: Ben Marzinski <bmarzins>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: high Docs Contact:
Priority: low    
Version: 5.4CC: agk, bdonahue, bmarzins, bmr, christophe.varoqui, coughlan, dwysocha, edamato, egoggin, heinzm, junichi.nomura, kueda, lmb, lmcilroy, mbroz, mchristi, mnovacek, mwahren, prockai, rdoty, riek, tao, tranlan
Target Milestone: rcKeywords: ZStream
Target Release: 5.5   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 518496 530243 554596 (view as bug list) Environment:
Last Closed: 2010-03-30 08:32:01 UTC Type: ---
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: 518496, 523392, 533941, 554596    
Attachments:
Description Flags
Untested proposed patch in diff -pruN format
none
Added product_blacklist none

Description Steven Whately 2009-08-03 04:42:15 UTC
Description of problem:
Sun 6000 series storage arrays are based on the same LSI hardware as IBM DS4000 series. 

With the lastest Sun firmware, and with AVT enabled, Sun 6540 storage array (same hardware as IBM DS4800) works with multipath -ll 

Version-Release number of selected component (if applicable):
RHEV-H 5.4-2.0.99.8.2
device-mapper-multipath-0.4.7-28

How reproducible:
Still under testing. Happy to provide more feedback.

Steps to Reproduce:
1. Copy device 
vendor "IBM" 
product "1815"

2.
Change device to 
vendor "SDK" 
product "FLEXLINE 380"

3.
Add blacklist
device {
  vendor "STK"
  product "Universal Xport"
}
  
Actual results:
multipath -ll 
returned expected result.

Expected results:
Expected Sun to actually provide some assistance to dm-multipath project.
Lack of support noted for next storage purchase.

Additional info:
Below is typed (so there may be typing errors) entries in multipath.conf

blacklist {
        device {
                vendor              "STK"
                product             "Universal Xport"
        }
}
devices {
        device {
                vendor              "STK"
                product             "FLEXLINE 380"
                path_grouping_policy group_by_prio
                path_checker rdac
                hardware handler "1 rdac"
                prio_callout "/sbin/mpath_prio_rdac /dev/%n"
                no_path_retry queue
                rr_min_io 1000
        }
}

Comment 1 Steven Whately 2009-08-03 06:16:47 UTC
Typo
2. Change device to 
vendor "STK" 
product "FLEXLINE 380"

Comment 2 Steven Whately 2009-08-17 06:02:11 UTC
Could someone please let me know how to build custom RHEL 5.3 kernels so I can test my patches.

--- linux-2.6-scsi-scsi_dh-add-rdac-handler.patch.orig  2009-08-17 11:30:23.000000000 +0930
+++ linux-2.6-scsi-scsi_dh-add-rdac-handler.patch       2009-08-17 12:42:30.000000000 +0930
@@ -639,6 +639,7 @@
 +      {"STK", "OPENstorage D280"},
 +      {"SUN", "CSM200_R"},
 +      {"SUN", "LCSM100_F"},
++      {"STK", "FLEXLINE 380"},
 +      {NULL, NULL},
 +};
 +



--- multipath.conf.defaults.orig = GROUP2009-08-17 13:03:19.000000000 +0930
+++ multipath.conf.defaultsck   2009-08-17 13:04:06.000000000 +0930
@@ -505,6 +505,20 @@r_weight     = RR_WEIGHT_NONE,
 #              rr_min_ioh_retry = NO_PA1000ETRY_QUEUE,
 #               path_checker            rdacNIO,
 #      }         .checker_name  = RDAC,
+#       device {
+#               vendor                  "STK"
+#               product                 "FLEXLINE 380"
+#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
+#               prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
+#               features                "0"tch input.
+#               hardware_handler        "1 rdac"c.orig hwtable.c > hwtable.c.patch
+#               path_grouping_policy    group_by_prio
+#               failback                immediatec.orig hwtable.c > hwtable.c.patch
+#               rr_weight               uniformh
+#               no_path_retry           queue
+#               rr_min_io               1000
+#               path_checker            rdac
+#       }
 #      device {
 #              vendor                  "GNBD"
 #              product                 "GNBD"


--- hwtable.c.orig      2008-08-30 04:00:27.000000000 +0930
+++ hwtable.c   2009-08-17 12:39:11.000000000 +0930
@@ -691,6 +691,22 @@
                .minio         = DEFAULT_MINIO,
                .checker_name  = RDAC,
        },
+        {
+                /* SUN 6540 */
+                .vendor        = "STK",
+                .product       = "FLEXLINE 380",
+                .getuid        = DEFAULT_GETUID,
+                .getprio       = "/sbin/mpath_prio_rdac /dev/%n",
+                .features      = DEFAULT_FEATURES,
+                .hwhandler     = "1 rdac",
+                .selector      = DEFAULT_SELECTOR,
+                .pgpolicy      = GROUP_BY_PRIO,
+                .pgfailback    = -FAILBACK_IMMEDIATE,
+                .rr_weight     = RR_WEIGHT_NONE,
+                .no_path_retry = NO_PATH_RETRY_QUEUE,
+                .minio         = DEFAULT_MINIO,
+                .checker_name  = RDAC,
+        },
        /*
         * DELL arrays
         */

Comment 3 Steven Whately 2009-08-17 06:09:59 UTC
I did not copy multipath.conf properly

--- multipath.conf.defaults.orig        2009-08-17 13:03:19.000000000 +0930
+++ multipath.conf.defaults     2009-08-17 13:04:06.000000000 +0930
@@ -505,6 +505,20 @@
 #              rr_min_io               1000
 #               path_checker            rdac
 #      }
+#       device {
+#               vendor                  "STK"
+#               product                 "FLEXLINE 380"
+#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
+#               prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
+#               features                "0"
+#               hardware_handler        "1 rdac"
+#               path_grouping_policy    group_by_prio
+#               failback                immediate
+#               rr_weight               uniform
+#               no_path_retry           queue
+#               rr_min_io               1000
+#               path_checker            rdac
+#       }
 #      device {
 #              vendor                  "GNBD"
 #              product                 "GNBD"

Comment 4 Steven Whately 2009-08-17 07:15:54 UTC
Created attachment 357602 [details]
Untested proposed patch in diff -pruN format

Comment 5 Steven Whately 2009-08-18 00:56:08 UTC
Created attachment 357725 [details]
Added product_blacklist

Comment 6 Ben Marzinski 2009-08-20 14:29:22 UTC
I've added the new configuration defaults.  Mike, do you want add the kernel patch at the top of the attachments?

Comment 7 Mike Christie 2009-08-20 15:46:40 UTC
(In reply to comment #6)
> I've added the new configuration defaults.  Mike, do you want add the kernel
> patch at the top of the attachments?  

I can do this. Let me clone this bz for the kernel part.

Comment 8 Steven Whately 2009-08-27 03:53:30 UTC
Tested with a simple dd command in:
kernel 2.6.30.5, device-mapper-multipath 0.4.8-10 (Fedora 11)  
kernel 2.6.18-128.el5, device-mapper-multipath 0.4.7-23 (RHEL 5.3)

Patches are different for Fedora 11, but follow the rule ie.
1. Copy device 
vendor "IBM" 
product "1815"

2. Change device to 
vendor "SDK" 
product "FLEXLINE 380"

Note: Blacklist is for inband management. Therefore is not required when inband management is removed from the storage arrays. My setup now has inband management removed.

Comment 16 michal novacek 2009-12-22 16:26:56 UTC
Verified that proposed patch made it to version 0.4.7-31.el5.

Comment 20 errata-xmlrpc 2010-03-30 08:32:01 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2010-0255.html