Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > by-pkgid > ff3ee324c0567e1c25614ef618e7dd7f > files > 16

clusterautosetup-2.1-5mdk.src.rpm

#!/bin/bash
# version 2.1.3 


# test exitence of clusterserver.conf
CONFFILE="/etc/clusterserver.conf"
if  [ ! -f ${CONFFILE} ]; then
echo "Cant find ${CONFFILE} !"
exit 1
fi
. ${CONFFILE}

# var
PROFILE=/etc/profile

# maui pbs
pbs_maui() {
echo " - Reseting Pbs node list"
cp -f $NODESFILE ${PBS_HOME}/server_priv/nodes
service openpbs restart
# maui
echo " - Reseting maui"
/usr/bin/setup_maui
}

# gexec 
gexec_modif(){
echo " - Resetting basic conf for GEXEC"
GEXEC="export GEXEC_SVRS"
grep -vi "$GEXEC" $PROFILE > $PROFILE.tmp

DEFAULT="$GEXEC=\""
for i in $(cat $NODESFILE); do
	newname=$(echo $i | cut -d "." -f 1)
	DEFAULT="$DEFAULT $newname"
done
DEFAULT="$DEFAULT\""
echo $DEFAULT >> $PROFILE.tmp

cp -f $PROFILE.tmp $PROFILE
}

# distcc
distcc_m() {
DISTCC="DISTCC_HOSTS"
grep -vi "$DISTCC" $PROFILE > $PROFILE.tmp
echo "export DISTCC_HOSTS=\$GEXEC_SVRS" >> $PROFILE.tmp
cp -f $PROFILE.tmp $PROFILE
}
# dsh is autoset cause : CLUSTER=$NODESFILE

# rshp et mput
rshp_var() {
echo " - Reseting rshp and mput"
# add the -m prefix to list of nodes
cp /dev/null /tmp/prepa
# use alias for rshp and mput
cp -f /dev/null /tmp/node.alias.tmp
cp -f /dev/null $NODESFILE.alias
cat /etc/nodes_list | awk -F"." '{print $1}' > /tmp/node.alias.tmp1
sed -e "s/[a-z.]//g" /tmp/node.alias.tmp1 > /tmp/node.alias.tmp
for i in `cat /tmp/node.alias.tmp` ; do echo n$i >> $NODESFILE.alias ; done
for NODE_NAME in `cat $NODESFILE.alias`
	do echo -n "-m $NODE_NAME " >> /tmp/prepa
done

# add value in $PROFILE
TEST_NODES=`grep NKA $PROFILE.tmp`
VALUES_NODES_KA="-c ssh `cat /tmp/prepa`"
if [ -z "$TEST_NODES" ]; then
        echo "export NKA=\"$VALUES_NODES_KA\"" >> $PROFILE.tmp
        else
        perl -pi -e "s|export NKA.*|export NKA\=\"$VALUES_NODES_KA\"|" $PROFILE.tmp
fi
cp -f $PROFILE.tmp $PROFILE
}

# urpmi //
urpmipp() {
echo "clic:ka-run:-c ssh" `cat /tmp/prepa` > /etc/urpmi/parallel.cfg
}

# mpi lam
mpi_lam() {
echo " - Reseting Mpi files"
cp -f $NODESFILE ${MPICH_DIR}/${MPI_COMPUTER}
echo " - Reseting Lam"
cp -f $NODESFILE ${LAM_NODES_FILE}
echo `hostname` >>  ${LAM_NODES_FILE}
}


#############
# main
#############
echo
echo "-----------------------------------------------"
echo " Generate config file for services"
echo "--------------------------------------------------"
echo " Later you can Modify your $NODESFILE with"
echo " /usr/bin/setup_modif_list_node script "
echo "---------------------------------------------------"
echo
sleep 3
gexec_modif
distcc_m
pbs_maui
mpi_lam
rshp_var
urpmipp # rshp_var needed before to generate /tmp/prepa