View Issue Details

IDProjectCategoryView StatusLast Update
0000495channel: elrepo/el7--elrepo--request-for-enhancement--public2014-07-25 09:28
Reporterdowdle Assigned Toburakkucat  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Summary0000495: Red Hat dropped support for many RAID cards with RHEL7, I'm wanting CCISS support back
DescriptionIn the RHEL 7.0 Release Notes, Chapter 24: Kernel, there are about three pages of dropped RAID cards listed. I have some HP Proliant DL380 G5 systems that have some RAID controller (hard to determine exactly what... and I've tried lshw, dmidecode, lspci, etc) that uses the CCISS driver... which is on the list of dropped RAID cards.

HP historically has provided their own third-party drivers that almost no one uses because the RHEL kernel just worked... but they have basically abandoned their old hardware and don't make updated drivers for newer RHEL releases.

Would it be possible for ElRepo to package up support for CCISS?
Additional InformationIf you can tell me what additional information you might need, I'll do my best to provide it. Here's the best I can do for what card is in my HP Proliant DL 380 G5 machines:

# lspci | grep -i raid
06:00.0 RAID bus controller: Hewlett-Packard Company Smart Array Controller (rev 03)

Relevant output from EPEL's lshw command:

           *-storage
                description: RAID bus controller
                product: Smart Array Controller
                vendor: Hewlett-Packard Company
                physical id: 0
                bus info: pci@0000:06:00.0
                version: 03
                width: 64 bits
                clock: 33MHz
                capabilities: storage pciexpress msix pm vpd bus_master cap_list rom
                configuration: driver=cciss latency=0
                resources: irq:18 memory:fde00000-fdefffff ioport:4000(size=256) memory:fddf0000-fddf0fff memory:d0000000-d003ffff(prefetchable)

dmesg just says the cciss driver is used.
TagsNo tags attached.
Reported upstream

Activities

burakkucat

2014-07-24 11:34

administrator   ~0003793

When convenient, please post the output returned by lspci -nn for the device.

I would like to see the relevant Vendor:Device ID pairing from a working system.

dowdle

2014-07-24 11:46

reporter   ~0003794

# lspci -nn | grep -i raid
06:00.0 RAID bus controller [0104]: Hewlett-Packard Company Smart Array Controller [103c:3230] (rev 03)

burakkucat

2014-07-24 12:14

administrator   ~0003795

Thank you.

All being well I should have something ready for you to test, later this (UTC) evening.

dowdle

2014-07-24 12:21

reporter   ~0003796

Great. So, my question would be... the systems I have to test on... don't have any additional drives... other than those connected to the RAID controller... which the EL7 installer doesn't see... so how would I go about testing it?

I do currently use livecd-creator to build LiveDVDs of CentOS 7, Scientific Linux 7 (currently alpha 2), and Oracle Linux 7... so I guess I could add the test rpm to my local repo and build a new LiveDVD with the test package pre-installed. Hopefully that would work... and allow the installer to see the drives so I can do an install.

burakkucat

2014-07-24 13:35

administrator   ~0003797

Somehow I knew that question would arise. My answer is that a driver-disk will be required. (If the driver-disk format had remained as it was in RHEL4 & RHEL5 then I could have built one by hand.) I have absolutely no experience of creating a viable driver-disk for RHEL6 or RHEL7. If you could manage to do the deed, that would be a great help . . .

The kmod-cciss package has now been built. It uses the v3.6.26 source code from the latest upstream (long term supported) linux-3.10.49 source tarball.

dowdle

2014-07-24 13:44

reporter   ~0003798

Great. Where can I find the test package?

dowdle

2014-07-24 14:02

reporter   ~0003799

I've not used a driver disk so I don't know anything about them... but I'm thinking making a LiveDVD with the package pre-installed should work.

burakkucat

2014-07-24 14:06

administrator   ~0003800

The following files have been uploaded to the _testing_ repository. (It will take a while for the mirror sites to synchronise with the master repository.)

x86_64:
kmod-cciss-3.6.26-1.el7.elrepo.x86_64.rpm

SRPMS:
cciss-kmod-3.6.26-1.el7.elrepo.src.rpm

Subject to testing and satisfactory feedback, it will then be promoted to the main repository.

dowdle

2014-07-24 14:50

reporter   ~0003801

Got it. My LiveDVD remix of CentOS 7 is building now. I'll let you know if it works or not.

dowdle

2014-07-24 16:18

reporter   ~0003802

I booted from the CentOS 7 LiveDVD I built that included your kmod-cciss package. fdisk -l showed the disks... the installer sall the disks on my RAID controller... but on the test machine I still had stuff on the disk I needed to backup so I did not go through a complete install. I will be doing that later today on another machine.

So, I'll do some more testing but so far, it appears to be working fine.

burakkucat

2014-07-24 16:27

administrator   ~0003803

Thank you for sharing the positive interim result.

dowdle

2014-07-24 21:01

reporter   ~0003804

Ok, I did an install and it went well. The installed system booted fine and the RAID card / disks are recognized just fine or the system wouldn't boot.

So I've not really used third-party driver packages before... and since this is such a crucial package for my system now... as it can't boot without it... what is the best practice for kernel updates? Can this package be made into a dkms package? For this situation are dkms packages preferred?

With the current style of package, I have to wait for a new package release to match each new kernel release. With akmod packages, in theory it could build an updated package upon boot of a new kernel... but without the disk being recognized by the new kernel, that's impossible.

Forgive my ignorance... this is new to me.

pperry

2014-07-25 03:35

administrator   ~0003805

Our kmod packages are built according to Red Hat's Driver Update Program meaning that they are kABI compatible.

Because Red Hat deploys a stable kernel ABI across RHEL releases, this should mean that our kmod packages will just work seamlessly across kernel updates.

I say "should" because it is not guaranteed. There is a possibility that things may break during point release updates (e.g, 7.0 to 7.1), but updates within a given point release should be fine.

To see how things work, take a look at the output from:

find /lib/modules/ -name cciss.ko

(assuming your kernel module is called cciss.ko)

The actual module will be in the extras directory and those in /weak-updates/ are weak-linked for compatible kernels.

So when you install a new kernel update, you can check to see if the driver module is compatible with that new kernel using the find command above by seeing if the module is weak linked against the new kernel or not. If it's weak linked then it should work, if it's not then the kmod package will likely need to be rebuilt against the new kernel.

pperry

2014-07-25 03:39

administrator   ~0003806

kmod packages are the preferred method of distribution on RHEL based systems as they don't need to be rebuilt against each new kernel update and, unlike dkms for example, they don't require development packages to be installed on end user systems (the ability to compile stuff might be seen as a security risk on many servers).

dowdle

2014-07-25 08:51

reporter   ~0003807

Thanks for the information... and for the package. It is working great for me.

burakkucat

2014-07-25 09:20

administrator   ~0003808

This package was built against the original RHEL 7.0 kernel (kernel-3.10.0-123.el7).

Example:

[Build64R7 ~]$ sudo yum --enablerepo elrepo-testing install kmod-cciss
<snip>
Installed:
  kmod-cciss.x86_64 0:3.6.26-1.el7.elrepo

Complete!
[Build64R7 ~]$ uname -r
3.10.0-123.4.4.el7.x86_64
[Build64R7 ~]$ rpm -q kernel | sort
kernel-3.10.0-123.1.2.el7.x86_64
kernel-3.10.0-123.4.2.el7.x86_64
kernel-3.10.0-123.4.4.el7.x86_64
[Build64R7 ~]$ ls -l $(find /lib/modules -name cciss.ko) | sort
lrwxrwxrwx. 1 root root 55 Jul 25 11:12 /lib/modules/3.10.0-123.1.2.el7.x86_64/weak-updates/cciss/cciss.ko -> /lib/modules/3.10.0-123.el7.x86_64/extra/cciss/cciss.ko
lrwxrwxrwx. 1 root root 55 Jul 25 11:12 /lib/modules/3.10.0-123.4.2.el7.x86_64/weak-updates/cciss/cciss.ko -> /lib/modules/3.10.0-123.el7.x86_64/extra/cciss/cciss.ko
lrwxrwxrwx. 1 root root 55 Jul 25 11:12 /lib/modules/3.10.0-123.4.4.el7.x86_64/weak-updates/cciss/cciss.ko -> /lib/modules/3.10.0-123.el7.x86_64/extra/cciss/cciss.ko
-rw-r--r--. 1 root root 115168 Jul 24 15:58 /lib/modules/3.10.0-123.el7.x86_64/extra/cciss/cciss.ko
[Build64R7 ~]$

burakkucat

2014-07-25 09:28

administrator   ~0003809

Having now received your positive feed-back, I am closing this RFE as "resolved/fixed".

The kmod-ciss package will shortly be promoted from the testing to the main repository.

If there are any future issues with this package please open a report against "kmod-cciss" in the "elrepo/el7" channel.

Issue History

Date Modified Username Field Change
2014-07-24 10:52 dowdle New Issue
2014-07-24 10:52 dowdle Status new => assigned
2014-07-24 10:52 dowdle Assigned To => toracat
2014-07-24 11:34 burakkucat Note Added: 0003793
2014-07-24 11:46 dowdle Note Added: 0003794
2014-07-24 12:14 burakkucat Note Added: 0003795
2014-07-24 12:21 dowdle Note Added: 0003796
2014-07-24 13:35 burakkucat Note Added: 0003797
2014-07-24 13:44 dowdle Note Added: 0003798
2014-07-24 14:02 dowdle Note Added: 0003799
2014-07-24 14:06 burakkucat Note Added: 0003800
2014-07-24 14:50 dowdle Note Added: 0003801
2014-07-24 15:01 burakkucat Project channel: kernel/el7 => channel: elrepo/el7
2014-07-24 15:02 burakkucat Assigned To toracat => burakkucat
2014-07-24 15:02 burakkucat Severity major => feature
2014-07-24 15:02 burakkucat Reproducibility always => N/A
2014-07-24 15:06 burakkucat Category --kernel--request-for-enhancement-- => --elrepo--request-for-enhancement--
2014-07-24 16:18 dowdle Note Added: 0003802
2014-07-24 16:27 burakkucat Note Added: 0003803
2014-07-24 21:01 dowdle Note Added: 0003804
2014-07-25 03:35 pperry Note Added: 0003805
2014-07-25 03:39 pperry Note Added: 0003806
2014-07-25 08:51 dowdle Note Added: 0003807
2014-07-25 09:20 burakkucat Note Added: 0003808
2014-07-25 09:28 burakkucat Note Added: 0003809
2014-07-25 09:28 burakkucat Status assigned => resolved
2014-07-25 09:28 burakkucat Resolution open => fixed