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

Frederick Stock stockf at us.ibm.com
Thu Mar 8 12:42:47 GMT 2018


You could also use the GPFS prestartup callback (mmaddcallback) to execute 
a script synchronously that waits for the IB ports to become available 
before returning and allowing GPFS to continue.  Not systemd integrated 
but it should work.

Fred
__________________________________________________
Fred Stock | IBM Pittsburgh Lab | 720-430-8821
stockf at us.ibm.com



From:   david_johnson at brown.edu
To:     gpfsug main discussion list <gpfsug-discuss at spectrumscale.org>
Date:   03/08/2018 07:34 AM
Subject:        Re: [gpfsug-discuss] GPFS autoload - wait for IB ports to 
become  active
Sent by:        gpfsug-discuss-bounces at spectrumscale.org



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
_______________________________________________
gpfsug-discuss mailing list
gpfsug-discuss at spectrumscale.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__gpfsug.org_mailman_listinfo_gpfsug-2Ddiscuss&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=p_1XEUyoJ7-VJxF_w8h9gJh8_Wj0Pey73LCLLoxodpw&m=u-EMob09-dkE6jZbD3dTjBi3vWhmDXtxiOK3nqFyIgY&s=JCfJgq6pZnKUI6d-rIgJXVcdZh7vmA5ypB1_goP_FFA&e=





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gpfsug.org/pipermail/gpfsug-discuss_gpfsug.org/attachments/20180308/cc71a258/attachment-0002.htm>


More information about the gpfsug-discuss mailing list