#!/bin/sh # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html #------------------------------------------------------------------------------- # Sample xCAT post script for configuring hfi settings and some conventions. # This scripts works for both diskfull installs, diskless boots on AIX or Linux. #------------------------------------------------------------------------------- PLTFRM=`uname` name=`echo $NODE | awk -F-hf '{print $1}'` if [ -z $name ] then name=$NODE fi if [[ $PLTFRM != AIX ]] && [[ $PLTFRM != aix ]] then # A difference between service node and compute node is that service node is booted from # ethernet, all the HFI interfaces should be configured. Compute node is booted from hf0 # so hf0 on compute node should not be re-configured on compute node. if [[ $NTYPE = service ]] then CLIENT_IP=`ping -c 3 $name-hf0 -I hf0 2>/dev/null | grep "data" | sed 's/.* (\([0-9.]*\)).*/\1/' | uniq 2>&1` if [ -n "$CLIENT_IP" ] then echo "DEVICE=hf0 NM_CONTROLLED=yes IPADDR=$CLIENT_IP NETMASK=255.0.0.0 ONBOOT=yes " >/etc/sysconfig/network-scripts/ifcfg-hf0 ifdown hf0 ifup hf0 fi fi # Configure hf0-hf interfaces one by one. for i in 1 2 3 4 5 6 7 do CLIENT_IP=`ping -c 3 $name-hf$i -I hf$i 2>/dev/null | grep "data" | sed 's/.* (\([0-9.]*\)).*/\1/' | uniq 2>&1` if [ -n "$CLIENT_IP" ] then echo "DEVICE=hf$i NM_CONTROLLED=yes IPADDR=$CLIENT_IP NETMASK=255.0.0.0 ONBOOT=yes " >/etc/sysconfig/network-scripts/ifcfg-hf$i ifdown hf$i ifup hf$i fi done else NETMASK=255.0.0.0 if [[ $NTYPE = service ]] then CLIENT_IP=`ping -q -n -c 1 -w 1 $name-hf0 | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' ` if [ -n $CLIENT_IP ] then mkhfi -i hf0 -a $CLIENT_IP -m $NETMASK fi fi for i in 1 2 3 do CLIENT_IP=`ping -q -n -c 1 -w 1 $name-hf$i | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' ` if [ -n "$CLIENT_IP" ] then mkhfi -i hf$i -a $CLIENT_IP -m $NETMASK fi done # Configure ml0 for AIX. CLIENT_IP=`ping -q -n -c 1 -w 1 $name-ml0 | grep PING |awk '{print $3}' | sed 's/(\(.*\)):/\1/' ` if [ -n "$CLIENT_IP" ] then #Check whether the mlt0 is available `lsdev -C | grep mlt0 | grep Available 2>&1 >/dev/null` chdev -l ml0 -a state=detach # Reconfig ml0 since HFx are configured after ml0 is available rmdev -l mlt0 mkdev -l mlt0 chdev -l ml0 -a netaddr=$CLIENT_IP -a netmask=$NETMASK -a state=up fi fi