Bug 331661 - Bond slaves other than eth* are ignored by rgmanager
Summary: Bond slaves other than eth* are ignored by rgmanager
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: rgmanager
Version: 5.0
Hardware: All
OS: Linux
low
low
Target Milestone: ---
: ---
Assignee: Lon Hohberger
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-10-15 04:15 UTC by Thomas Pek
Modified: 2009-04-16 22:55 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-20 20:57:08 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Use position rather than pattern-match for slave devices. (881 bytes, patch)
2008-03-04 23:11 UTC, Lon Hohberger
no flags Details | Diff
Better patch. Slightly more efficient, and functionally-tested (859 bytes, patch)
2008-03-11 18:47 UTC, Lon Hohberger
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:0101 0 normal SHIPPED_LIVE rgmanager bug-fix and enhancements update 2009-01-20 16:04:34 UTC

Description Thomas Pek 2007-10-15 04:15:22 UTC
Description of problem:
When using bonding, the ip.sh script only works with slave interfaces which
start with eth*. It fails to get status on other bonded interfaces, like
for example Infiniband (ib*).

Version-Release number of selected component (if applicable):
rgmanager-2.0.24-1.el5

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Lon Hohberger 2007-11-09 20:25:57 UTC
Could you give me 'ip addr list' for a bonded infiniband configuration?

Comment 2 Thomas Pek 2007-11-12 03:06:46 UTC
We have decided to run without ib bonding so I can't send you the
requested output.  

The problem seems to be with the /usr/share/cluster/ip.sh script
in the findSlaves() function. It only recognizes eth* devices:

----------------------------------------------------------------
 while read line; do
                set - $line
                while [ $# -gt 0 ]; do
                        case $1 in
                        eth*:)
                                interfaces="${1/:/} $interfaces"
                                continue 2
                                ;;
                        esac
                        shift
                done
        done < <( /sbin/ip link list | grep "master $mastif" )
--------------------------------------------------------------------

Our original configuration had a master device bond1 and 2 slave 
devices ib0 and ib1. 


Comment 3 Lon Hohberger 2007-11-13 16:44:45 UTC
That's the part I thought was suspect too.



Comment 4 Kiersten (Kerri) Anderson 2007-11-19 19:57:32 UTC
All cluster version 5 defects should be reported under red hat enterprise linux
5 product name - not cluster suite.

Comment 5 Lon Hohberger 2008-03-04 23:11:51 UTC
Created attachment 296827 [details]
Use position rather than pattern-match for slave devices.

Comment 6 Lon Hohberger 2008-03-04 23:13:15 UTC
Note that link detection won't work on non-ethernet devices anyway, so I'm not
sure how much this patch would help.

Comment 7 Lon Hohberger 2008-03-11 17:15:21 UTC
interfaces=$(/sbin/ip link list | grep "master $mastif" | awk '{print $2}'})      

should obviate the need for the loop entirely.

Comment 9 Lon Hohberger 2008-03-11 18:47:47 UTC
Created attachment 297657 [details]
Better patch.  Slightly more efficient, and functionally-tested

Comment 13 errata-xmlrpc 2009-01-20 20:57:08 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-2009-0101.html


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