diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.post b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.post new file mode 100644 index 000000000..da22619d7 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.post @@ -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* diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.postbootscript b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.postbootscript index 1de4f315f..28eeab87c 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.postbootscript +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.postbootscript @@ -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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.x86_64.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.x86_64.pkglist index 5a3025858..a7a37347b 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.x86_64.pkglist +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.x86_64.pkglist @@ -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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license index 6fc090ec3..57a296402 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license @@ -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 .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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.rhels6.ppc64.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.rhels6.ppc64.postinstall index 6a112f71b..d342eab5c 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.rhels6.ppc64.postinstall +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.rhels6.ppc64.postinstall @@ -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, diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall index e02526849..ca3eebaa1 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall @@ -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, diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates index e7ffdbfc8..80d18d812 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates @@ -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 .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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl-5103.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl-5103.otherpkgs.pkglist index 35b739075..690f22d7d 100644 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl-5103.otherpkgs.pkglist +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl-5103.otherpkgs.pkglist @@ -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* diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install index f718e2c39..8ed952837 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install @@ -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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install-5103 b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install-5103 index ad9090971..187dd87cf 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install-5103 +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install-5103 @@ -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 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.rhels6.ppc64.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.rhels6.ppc64.postinstall index 755db3643..52e163271 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.rhels6.ppc64.postinstall +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.rhels6.ppc64.postinstall @@ -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, diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.sles11.ppc64.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.sles11.ppc64.postinstall index fdb5d9ed5..2849f9c25 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.sles11.ppc64.postinstall +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/min-compute.sles11.ppc64.postinstall @@ -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, diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe-1200.rhels6.ppc64.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe-1200.rhels6.ppc64.otherpkgs.pkglist index cca7fcd6b..b8517d4e1 100644 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe-1200.rhels6.ppc64.otherpkgs.pkglist +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe-1200.rhels6.ppc64.otherpkgs.pkglist @@ -1,5 +1,5 @@ pe/src -pe/libbsr +#pe/libbsr #ENV:IBM_PPE_RTE_LICENSE_ACCEPT=yes# pe/ppe_rte_license* diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_install-1200 b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_install-1200 index f9261358d..e6d747f26 100644 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_install-1200 +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_install-1200 @@ -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