Moving several changes from 2.7 branch to trunk.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13511 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
wanghuaz 2012-08-15 09:53:16 +00:00
parent 24c9ddd1be
commit a498785451
14 changed files with 133 additions and 47 deletions

View File

@ -0,0 +1,16 @@
#!/bin/sh
# Sample postscript for HPC software additional configurations
# AIX:
# TBD
#
# Linux: for statefull (full-disk install) and stateless/statelite nodes
# For statefull nodes: run as part of IBMhpc.postbootscript.
# For stateless/statelite nodes: run as postscript, you will need to
# copy this script to /install/postscripts and specify it to nodes'
# postscripts attribute.
#
# BSR configuration on Power 775 cluster. More BSR configuration should
# be done by PE postinstall in genimage or postbootscript in statefull install
#chown root:bsr /dev/bsr*

View File

@ -8,6 +8,7 @@ ps_dir=/xcatpost
# Run script to set up some basics for all HPC software
$ps_dir/IBMhpc.postscript
$ps_dir/IBMhpc.post
# Run script to install gpfs updates
$ps_dir/gpfs_updates
@ -15,17 +16,12 @@ $ps_dir/gpfs_updates
# Run script to accept compiler license
$ps_dir/compilers_license
#$ps_dir/upc_license
# Run script to install PE and accept license
$ps_dir/pe_install
# Run script to install ESSL and PESSL rpms
$ps_dir/essl_install
$ps_dir/pe_install-1200
# Run script to accept LoadLeveler license, install product rpms,
# and do some config
$ps_dir/loadl_install
$ps_dir/loadl_install-5103

View File

@ -1,5 +1,5 @@
# OS packages that are useful for all IBM HPC products
#INCLUDE:/opt/xcat/share/xcat/netboot/sles/compute.sles11.x86_64.pkglist#
#INCLUDE:/opt/xcat/share/xcat/netboot/sles/compute.sles11.pkglist#
systemtap
kernel-source

View File

@ -16,6 +16,22 @@ if [ $OS != "AIX" ]; then
if [ $NODESETSTATE == "install" ] || [ $NODESETSTATE == "boot" ]; then
# Being run from a stateful install postscript
## Workaround for xlf/vacpp and upc compiler dependceies conflict issue.
## Install a low version of xlmass manually
## Uncomment the following lines for UPC compiler use
#INSTALL_DIR='/install'
#COMPILERS_DIR='post/otherpkgs/rhels6.2/ppc64/compilers'
#mkdir -p /tmp/compilers/
#rm -f -R /tmp/compilers/*
#cd /tmp/compilers/
#wget -l inf -nH -N -r --waitretry=10 --random-wait -T 60 -nH --cut-dirs=6 --reject "index.html*" --no-parent http://$SITEMASTER$INSTALL_DIR/$COMPILERS_DIR/ 2> /tmp/wget.log
#if [ -n "`ls xlmass.lib-6.1.0*.rpm 2> /dev/null`" ] ; then
# rpm -ivh --oldpackage xlmass.lib-6.1.0*.rpm
#fi
#cd $installroot/
#rm -f -R /tmp/compilers/
if [ -n "$vacpp_script" ] ; then
echo 1 | $vacpp_script
fi
@ -27,6 +43,13 @@ if [ $OS != "AIX" ]; then
if [ $NODESETSTATE == "genimage" ]; then
# Being called from <image>.postinstall script
# Assume we are on the same machine
## Worakround for xlf/vacpp and upc compiler dependceies conflict issue.
## Install a low version of xlmass manually
## Uncomment the following lines for UPC compiler use
#cp -p /install/post/otherpkgs/rhels6.2/ppc64/compilers/xlmass.lib-6.1.0*.rpm $installroot/tmp
#chroot $installroot rpm -ivh --oldpackage /tmp/xlmass.lib-6.1.0*.rpm
if [ -n "$vacpp_script" ] ; then
echo 1 | chroot $installroot /$vacpp_script
fi

View File

@ -47,6 +47,7 @@ installroot=$installroot $hpc/gpfs/gpfs_mmsdrfs
# Run script to accept compiler license
installroot=$installroot NODESETSTATE=genimage $hpc/compilers/compilers_license
#installroot=$installroot NODESETSTATE=genimage $hpc/compilers/upc_license
# Run script to install PE and accept license
@ -54,7 +55,7 @@ installroot=$installroot pedir=$otherpkgs/pe NODESETSTATE=genimage $hpc/pe/pe_
# Run script to install ESSL and PESSL rpms
installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
#installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
# Run script to accept LoadLeveler license, install product rpms,

View File

@ -55,7 +55,7 @@ installroot=$installroot pedir=$otherpkgs/pe NODESETSTATE=genimage $hpc/pe/pe_
# Run script to install ESSL and PESSL rpms
installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
# installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
# Run script to accept LoadLeveler license, install product rpms,

View File

@ -31,6 +31,42 @@ if [ -n "$1" ]; then
fi
OS=`uname`
INSTALL_DIR='/install'
UPDATES_DIR='post/otherpkgs/gpfs_updates'
if [ $OS != "AIX" ]; then
if [ $NODESETSTATE == "install" ] || [ $NODESETSTATE == "boot" ]; then
# Being run from a stateful install postscript
# Copy rpms directly from the xCAT management node and install
mkdir -p /tmp/gpfs_updates
rm -f -R /tmp/gpfs_updates/*
cd /tmp/gpfs_updates
# wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=3 ftp://$SITEMASTER/$UPDATES_DIR/*.rpm 2> /tmp/wget.log
wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=4 --reject "index.html*" --no-parent http://$SITEMASTER$INSTALL_DIR/$UPDATES_DIR/ 2> /tmp/wget.log
if [ -n "`ls *.rpm 2> /dev/null`" ] ; then
rpm -Uvh *.rpm
fi
cd /
rm -f -R /tmp/gpfs_updates
fi
if [ $NODESETSTATE == "genimage" ]; then
if [ -d $INSTALL_DIR/$UPDATES_DIR ] ; then
# Being called from <image>.postinstall script
# Assume we are on the same machine
if [[ $OS = sles* ]] || [[ $OS = suse* ]] || [[ -f /etc/SuSE-release ]]; then
# For SLES, assume zypper is available on the system running genimage
zypper -R $installroot ar file:$INSTALL_DIR/$UPDATES_DIR gpfs_updates
# zypper -R $installroot install gpfs.gplbin*
zypper --non-interactive -R $installroot update gpfs*
zypper -R $installroot rr gpfs_updates
else
# For Redhat, etc., assume yum is available on the system running genimage
yum -y --installroot $installroot --nogpgcheck localupdate $INSTALL_DIR/$UPDATES_DIR/*.rpm
fi
fi
fi
fi
## Create an empty nsddevices script for GPFS
## This assumes that the node is NOT an NSD server
@ -67,12 +103,12 @@ else # assume Linux
fi
if [ ! -e $gpfsprofile.sh ]; then
echo 'export PATH=$PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.sh
echo 'export PATH=$PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.csh
echo 'setenv PATH $PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.csh
# Turn off LANG support since we did not install other msg catalogs
echo 'export LC_CTYPE=POSIX' $gpfsprofile.sh
echo 'export LC_CTYPE=POSIX' $gpfsprofile.csh
echo 'export LC_ALL=POSIX' $gpfsprofile.sh
echo 'export LC_ALL=POSIX' $gpfsprofile.csh
echo 'export LC_CTYPE=POSIX' > $gpfsprofile.sh
echo 'setenv LC_CTYPE POSIX' > $gpfsprofile.csh
echo 'export LC_ALL=POSIX' > $gpfsprofile.sh
echo 'setenv LC_ALL POSIX' > $gpfsprofile.csh
chmod 744 $gpfsprofile.sh
chmod 744 $gpfsprofile.csh
fi

View File

@ -1,4 +1,4 @@
#ENV:IBM_LOADL_LICENSE_ACCEPT=yes#
loadl/LoadL-full-license*
loadl/LoadL-scheduler-full*
#loadl/LoadL-scheduler-full*
loadl/LoadL-resmgr-full*

View File

@ -101,12 +101,12 @@ else # assume Linux
fi
if [ ! -e $loadlprofile.sh ]; then
echo "export PATH=\$PATH:$linux_loadl_bin" > $loadlprofile.sh
echo "export PATH=\$PATH:$linux_loadl_bin" > $loadlprofile.csh
echo "setenv PATH \$PATH:$linux_loadl_bin" > $loadlprofile.csh
# Turn off LANG support since we did not install other msg catalogs
echo 'export LC_CTYPE=POSIX' $loadlprofile.sh
echo 'export LC_CTYPE=POSIX' $loadlprofile.csh
echo 'export LC_ALL=POSIX' $loadlprofile.sh
echo 'export LC_ALL=POSIX' $loadlprofile.csh
echo 'export LC_CTYPE=POSIX' > $loadlprofile.sh
echo 'setenv LC_CTYPE POSIX' > $loadlprofile.csh
echo 'export LC_ALL=POSIX' > $loadlprofile.sh
echo 'setenv LC_ALL POSIX' > $loadlprofile.csh
chmod 744 $loadlprofile.sh
chmod 744 $loadlprofile.csh
fi

View File

@ -66,12 +66,12 @@ else # assume Linux
fi
if [ ! -e $loadlprofile.sh ]; then
echo "export PATH=\$PATH:$linux_loadl_bin" > $loadlprofile.sh
echo "export PATH=\$PATH:$linux_loadl_bin" > $loadlprofile.csh
echo "setenv PATH \$PATH:$linux_loadl_bin" > $loadlprofile.csh
# Turn off LANG support since we did not install other msg catalogs
echo 'export LC_CTYPE=POSIX' $loadlprofile.sh
echo 'export LC_CTYPE=POSIX' $loadlprofile.csh
echo 'export LC_ALL=POSIX' $loadlprofile.sh
echo 'export LC_ALL=POSIX' $loadlprofile.csh
echo 'export LC_CTYPE=POSIX' > $loadlprofile.sh
echo 'setenv LC_CTYPE POSIX' > $loadlprofile.csh
echo 'export LC_ALL=POSIX' > $loadlprofile.sh
echo 'setenv LC_ALL POSIX' > $loadlprofile.csh
chmod 744 $loadlprofile.sh
chmod 744 $loadlprofile.csh
fi

View File

@ -55,7 +55,7 @@ installroot=$installroot pedir=$otherpkgs/pe NODESETSTATE=genimage $hpc/pe/pe_
# Run script to install ESSL and PESSL rpms
installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
#installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
# Run script to accept LoadLeveler license, install product rpms,

View File

@ -55,7 +55,7 @@ installroot=$installroot pedir=$otherpkgs/pe NODESETSTATE=genimage $hpc/pe/pe_
# Run script to install ESSL and PESSL rpms
installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
#installroot=$installroot essldir=$otherpkgs/essl NODESETSTATE=genimage $hpc/essl/essl_install
# Run script to accept LoadLeveler license, install product rpms,

View File

@ -1,5 +1,5 @@
pe/src
pe/libbsr
#pe/libbsr
#ENV:IBM_PPE_RTE_LICENSE_ACCEPT=yes#
pe/ppe_rte_license*

View File

@ -5,18 +5,10 @@
# For AIX:
# TBD
# For Linux:
# - For full-disk installs:
# - Copy rpms to node
# - Install and accept PE license rpm
# - Install PE rpms
# - For diskless images:
# - Install PE license on MN if not already installed
# - Install PE license rpm into image, but DO NOT ACCEPT
# (java accept program will hang)
# - Copy PE license files from MN into image
# - Install PE rpms
# - Create a smaller PNSD log file in /tmp
# - Configure poe.limits file
# - Generate and store checkpoint key
# - BSR support configuration
OS=`uname`
@ -84,14 +76,18 @@ fi
if [ "$OS" != "AIX" ]; then
gen_xlf=`grep PE_LATEST_LEVEL $installroot/etc/ppe.cfg | cut -f2 -d ' ' `/mpich2/sbin/xlf_gen_mpimod
if [ -x $installroot/$gen_xlf ] ; then
chroot $installroot $gen_xlf
if [ $NODESETSTATE == "install" ] || [ $NODESETSTATE == "boot" ]; then
$gen_xlf
else
chroot $installroot $gen_xlf
fi
fi
fi
#Generate checkpoint key and store it into the image, ckpt script could ust it after boot.
if [ "$OS" != "AIX" ]; then
KEY=$(date | sha1sum | awk '{ print $1 }')
# KEY=$(dd if=/dev/random bs=1 | sha1sum | awk '{ print $1 }')
#KEY=$(date | sha1sum | awk '{ print $1 }')
KEY=$(dd if=/dev/random count=1 2>/dev/null | sha1sum | awk '{print $1}')
echo $KEY > $installroot/root/.ckpt.key
chmod 400 $installroot/root/.ckpt.key
fi
@ -99,8 +95,26 @@ fi
# BSR configuration, uncomment the following lines to enable BSR configuration on Power Linux cluter.
#if [ "$OS" != "AIX" ]; then
# chroot $installroot groupadd bsr
# chroot $installroot mkdir -p /var/lib/bsr
# chroot $installroot chown root:bsr /var/lib/bsr
# chroot $installroot chmod g+sw /var/lib/bsr
# if [ $NODESETSTATE == "install" ] || [ $NODESETSTATE == "boot" ]; then
# groupadd bsr
# mkdir -p /var/lib/bsr
# chown root:bsr /var/lib/bsr
# chmod g+sw /var/lib/bsr
# else
# chroot $installroot groupadd bsr
# chroot $installroot mkdir -p /var/lib/bsr
# chroot $installroot chown root:bsr /var/lib/bsr
# chroot $installroot chmod g+sw /var/lib/bsr
# fi
#fi
# pelinks script support, uncomment the following lines and change to the correct pe version that you intend to use.
#PE_VERSION=1202
#if [ "$OS" != "AIX" ]; then
# if [ $NODESETSTATE == "install" ] || [ $NODESETSTATE == "boot" ]; then
# MP_CONFIG=$PE_VERSION /opt/ibmhpc/pe$PE_VERSION/ppe.poe/bin/pelinks
# else
# export MP_CONFIG=$PE_VERSION;chroot $installroot /opt/ibmhpc/pe$PE_VERSION/ppe.poe/bin/pelinks
# fi
#fi