Bug 228873 - openibd is not loaded on Pathscale InfiniBand cards.
openibd is not loaded on Pathscale InfiniBand cards.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: openib (Show other bugs)
4.5
All Linux
high Severity medium
: ---
: ---
Assigned To: Doug Ledford
Brian Brock
:
Depends On:
Blocks: 185457
  Show dependency treegraph
 
Reported: 2007-02-15 12:44 EST by Konrad Rzeszutek
Modified: 2007-11-30 17:07 EST (History)
6 users (show)

See Also:
Fixed In Version: openib-1.1-6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-02-15 17:03:38 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to init script to load with Pathscale InfiniBand cards. (456 bytes, patch)
2007-02-15 12:46 EST, Konrad Rzeszutek
no flags Details | Diff
Patch to openibd script to work around difference between RHEL4 and RHEL5 action statement in init scripts (2.04 KB, patch)
2007-02-15 15:30 EST, Doug Ledford
no flags Details | Diff

  None (edit)
Comment 1 Konrad Rzeszutek 2007-02-15 12:46:15 EST
Created attachment 148125 [details]
Patch to init script to load with Pathscale InfiniBand cards.

Patch to openibd that fixes the problem.
Comment 2 Doug Ledford 2007-02-15 13:05:49 EST
This bug has already been fixed in the packages slated for RHEL4.5.  Test
packages to confirm the fix can be downloaded from
http://people.redhat.com/dledford/Infiniband/openib/1.1/5

Note, this version of the openibd script fixes the problem in a more generic
fashion and removes the need to hardcode lspci values in the init script itself,
instead relying on modinfo tables read from modules to determine what devices
have a driver that supports them.
Comment 3 Konrad Rzeszutek 2007-02-15 13:11:31 EST
Wow. That was super quick. Thanks!
Comment 4 Konrad Rzeszutek 2007-02-15 14:38:08 EST
[root@ibm-ridgeback ~]# /etc/init.d/openibd start
Loading OpenIB kernel modules:  execvp: No such file or directory
[FAILED]
[root@ibm-ridgeback ~]#
Comment 5 Konrad Rzeszutek 2007-02-15 14:49:06 EST
Looking at the scripts, the openibd does this:

start)
                action $"Loading OpenIB kernel modules: " start
and inside action function (in /etc/rc.d/init.d/functions) this fails:

  initlog $INITLOG_ARGS -c "$*" && success $"$STRING" || failure $"$STRING"

The $* translates to start, and initlog tries to execute that and fails.

Comment 6 Doug Ledford 2007-02-15 15:30:27 EST
Created attachment 148145 [details]
Patch to openibd script to work around difference between RHEL4 and RHEL5 action statement in init scripts

OK, that's a valid issue.  I had already fixed it, but it evidently didn't get
checked into CVS.  I'll make an openib-1.1-6 that corrects the problem.  I'll
also attach a diff from the broken openibd to the fixed openibd so you can test
for yourself that the problem is solved.
Comment 7 Doug Ledford 2007-02-15 16:16:18 EST
openib-1.1-6 has been built into the build system and is also available on my
people page.
Comment 8 Konrad Rzeszutek 2007-02-15 16:41:44 EST
Patch fixes the problem.
Comment 9 Doug Ledford 2007-02-15 17:03:38 EST
Since this isn't attached to an errata anywhere, it won't get transitioned to
closed when the errata ships, so closing it out as CURRENTRELEASE since the fix
has been verified.
Comment 10 Gurhan Ozen 2007-02-15 17:27:09 EST
Am I missing something here? I did test this with rhel 5.0 (openib-1.1-4) and it
did indeed work. Or was this something particular to rhel 4.5 ?

Comment 11 Doug Ledford 2007-02-15 17:39:54 EST
It's particular to RHEL4.5.  In specific, the function action() in
/etc/init.d/functions is different between RHEL4.5 and RHEL5 and it requires a
different method of usage.  In RHEL5, action() can be used to call shell
functions embedded in the init script (which is what openibd did), where as in
RHEL4.5, action() requires the first argument to  be an executable file on the
filesystem.  I rewrote the start/stop/restart sections of the openibd script to
not use action() and instead do what action() does on RHEL5.  I did this *long*
ago on one of my test machines, but did the editing on the file actually in
/etc/init.d, and once I got it right, forgot to copy it into my cvs repo and
check it in, hence why it was missing from the build done through the build
system :-(

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