[gpfsug-discuss] GPFS autoload - wait for IB ports to become active

david_johnson at brown.edu david_johnson at brown.edu
Thu Mar 8 12:33:41 GMT 2018


Until IBM provides a solution, here is my workaround. Add it so it runs before the gpfs script, I call it from our custom xcat diskless boot scripts. Based on rhel7, not fully systemd integrated. YMMV!

Regards, 
 — ddj
——-
[ddj at storage041 ~]$ cat /etc/init.d/ibready 
#! /bin/bash
#
# chkconfig: 2345 06 94
# /etc/rc.d/init.d/ibready
# written in 2016 David D Johnson (ddj <at> brown.edu)
#
### BEGIN INIT INFO
# Provides:             ibready
# Required-Start:
# Required-Stop:
# Default-Stop:
# Description: Block until infiniband is ready
# Short-Description: Block until infiniband is ready
### END INIT INFO

RETVAL=0
if [[ -d /sys/class/infiniband ]] 
then
        IBDEVICE=$(dirname $(grep -il infiniband /sys/class/infiniband/*/ports/1/link* | head -n 1))
fi
# See how we were called.
case "$1" in
  start)
        if [[ -n $IBDEVICE && -f $IBDEVICE/state ]]
        then
                echo -n "Polling for InfiniBand link up: "
                for (( count = 60; count > 0; count-- ))
                do
                        if grep -q ACTIVE $IBDEVICE/state
                        then
                                echo ACTIVE
                                break
                        fi
                        echo -n "."
                        sleep 5
                done
                if (( count <= 0 ))
                then
                        echo DOWN - $0 timed out
                fi
        fi
        ;;
  stop|restart|reload|force-reload|condrestart|try-restart)
        ;;
  status)
        if [[ -n $IBDEVICE && -f $IBDEVICE/state ]]
        then
                echo "$IBDEVICE is $(< $IBDEVICE/state) $(< $IBDEVICE/rate)"
        else
                echo "No IBDEVICE found"
        fi
        ;;
  *)
        echo "Usage: ibready {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
        exit 2
esac
exit ${RETVAL}
————

  -- ddj
Dave Johnson

> On Mar 8, 2018, at 6:10 AM, Caubet Serrabou Marc (PSI) <marc.caubet at psi.ch> wrote:
> 
> Hi all,
> 
> with autoload = yes we do not ensure that GPFS will be started after the IB link becomes up. Is there a way to force GPFS waiting to start until IB ports are up? This can be probably done by adding something like After=network-online.target and Wants=network-online.target in the systemd file but I would like to know if this is natively possible from the GPFS configuration.
> 
> Thanks a lot,
> Marc                
> _________________________________________
> Paul Scherrer Institut 
> High Performance Computing
> Marc Caubet Serrabou
> WHGA/036
> 5232 Villigen PSI
> Switzerland
> 
> Telephone: +41 56 310 46 67
> E-Mail: marc.caubet at psi.ch
> _______________________________________________
> gpfsug-discuss mailing list
> gpfsug-discuss at spectrumscale.org
> http://gpfsug.org/mailman/listinfo/gpfsug-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gpfsug.org/pipermail/gpfsug-discuss_gpfsug.org/attachments/20180308/24b95d46/attachment.htm>


More information about the gpfsug-discuss mailing list