120 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash 
 | 
						|
#README################################################################
 | 
						|
# (1)lsf_startup should be ran after lsf is installed, so it should be ran after install_lsf script
 | 
						|
# (2)lsf_startup use the same install.config file with install_lsf, install.config should be in the same directory with install_lsf and lsf_startup scripts.
 | 
						|
# The format of install.config file, see more details in install_lsf README
 | 
						|
# cat install.config
 | 
						|
# LSF_TOP=""
 | 
						|
# LSF_ADMINS=""
 | 
						|
# LSF_CLUSTER_NAME=""
 | 
						|
# LSF_MASTER_LIST=""
 | 
						|
# LSF_ENTITLEMENT_FILE="NEED A FULL PATH OF THE FILE"
 | 
						|
# LSF_TARDIR=""
 | 
						|
# (3)Run this script on all lsf cluster nodes,you can also use "updatenode <noderange> -P lsf_startup" to execute this script
 | 
						|
#
 | 
						|
#README################################################################
 | 
						|
 | 
						|
 | 
						|
#need install.config
 | 
						|
INSTALL_CONFIG_FILE=`pwd`/install.config
 | 
						|
 | 
						|
 | 
						|
. $INSTALL_CONFIG_FILE
 | 
						|
 | 
						|
echo "INFO: Run hostsetup on each node."
 | 
						|
 | 
						|
find /$LSF_TOP -name hostsetup > /dev/null
 | 
						|
if [[ $? -ne 0 ]]
 | 
						|
then
 | 
						|
     echo "Error : there is no hostsetup, check if lsf install is installed or not."
 | 
						|
     exit 1
 | 
						|
fi
 | 
						|
 | 
						|
#get lsf main version,
 | 
						|
LSF_VERSION=`find /$LSF_TOP -name hostsetup|head -1|awk '{print $5}'`
 | 
						|
 | 
						|
if [[ x${LSF_ADD_SERVERS} != x ]]; then
 | 
						|
     ALL_LSF_NODES=${LSF_MASTER_LIST}' '${LSF_ADD_SERVERS}
 | 
						|
else
 | 
						|
     ALL_LSF_NODES=${LSF_MASTER_LIST}
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
for item in $ALL_LSF_NODES
 | 
						|
do
 | 
						|
   if [[ x${item} == x$NODE ]]
 | 
						|
   then
 | 
						|
      
 | 
						|
      $LSF_TOP/$LSF_VERSION/install/hostsetup --top="$LSF_TOP" --boot="y"
 | 
						|
     
 | 
						|
   fi
 | 
						|
done
 | 
						|
 | 
						|
 | 
						|
# Set your LSF environment"
 | 
						|
echo "INFO: Set LSF environment for root and LSF_ADMINS"
 | 
						|
 | 
						|
 | 
						|
for lsfnode in $ALL_LSF_NODES
 | 
						|
do
 | 
						|
    if [[ x${lsfnode} == x$NODE ]]
 | 
						|
    then
 | 
						|
        echo ". $LSF_TOP/conf/profile.lsf" >> /root/.profile
 | 
						|
    fi
 | 
						|
done
 | 
						|
 | 
						|
 | 
						|
#change .profile for every lsf admin user
 | 
						|
for LSF_ADMIN_USER in $LSF_ADMINS ; do
 | 
						|
 | 
						|
        LSF_ADMIN_USER_HOMEDIR=`grep $LSF_ADMIN_USER: /etc/passwd | cut -d ':' -f 6`
 | 
						|
 | 
						|
        grep "profile.lsf" $LSF_ADMIN_USER_HOMEDIR/.profile > /dev/null
 | 
						|
        if [[ $? -eq 0 ]]
 | 
						|
        then
 | 
						|
             sed -i '/profile.lsf/d' $LSF_ADMIN_USER_HOMEDIR/.profile
 | 
						|
        fi
 | 
						|
        for lsfnode in $ALL_LSF_NODES
 | 
						|
        do
 | 
						|
             if [[ x${lsfnode} == x$NODE ]]
 | 
						|
             then
 | 
						|
             echo ". $LSF_TOP/conf/profile.lsf" >> $LSF_ADMIN_USER_HOMEDIR/.profile
 | 
						|
             fi
 | 
						|
        done
 | 
						|
done
 | 
						|
 | 
						|
# Startup LSF CLUSTER
 | 
						|
echo "INFO: Start LSF Cluster."
 | 
						|
.  $LSF_TOP/conf/profile.lsf
 | 
						|
 | 
						|
lsadminpath="lsadmin"
 | 
						|
if [[ x${lsadminpath} == x ]]
 | 
						|
then
 | 
						|
     echo "Error:there is no lsadmin."
 | 
						|
else
 | 
						|
     $lsadminpath limstartup
 | 
						|
     if [[ $? -ne 0 ]]
 | 
						|
     then
 | 
						|
         echo "lsadmin limstartup fail."
 | 
						|
     fi
 | 
						|
     $lsadminpath resstartup
 | 
						|
     if [[ $? -ne 0 ]]
 | 
						|
     then
 | 
						|
         echo "lsadmin resstartup fail."
 | 
						|
     fi
 | 
						|
fi
 | 
						|
 | 
						|
badminpath="badmin"
 | 
						|
if [[ x${badminpath} == x ]]
 | 
						|
then
 | 
						|
    echo "Error:there is no badmin."
 | 
						|
else
 | 
						|
 | 
						|
    $badminpath hstartup
 | 
						|
    if [[ $? -ne 0 ]]
 | 
						|
    then
 | 
						|
        echo "Error : badmin hstartup faile. "
 | 
						|
    fi
 | 
						|
fi
 | 
						|
 |