From f6e5d765626713147a79a170dc5a44fb36610bc0 Mon Sep 17 00:00:00 2001 From: mellor Date: Mon, 22 Mar 2010 16:11:46 +0000 Subject: [PATCH] add support for IBM HPC integration SLES11 diskless git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@5544 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- .../share/xcat/IBMhpc/IBMhpc.sles.postinstall | 72 +++++++++++ .../xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist | 37 ++++++ .../xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist | 42 +++++++ .../xcat/IBMhpc/compilers/compilers.exlist | 26 ++++ .../compilers/compilers.otherpkgs.pkglist | 22 ++++ .../xcat/IBMhpc/compilers/compilers.pkglist | 6 + .../xcat/IBMhpc/compilers/compilers_license | 31 +++++ .../xcat/IBMhpc/compute.sles11.ppc64.exlist | 9 ++ .../compute.sles11.ppc64.otherpkgs.pkglist | 8 ++ .../xcat/IBMhpc/compute.sles11.ppc64.pkglst | 10 ++ .../IBMhpc/compute.sles11.ppc64.postinstall | 49 ++++++++ .../share/xcat/IBMhpc/essl/essl.exlist | 11 ++ .../share/xcat/IBMhpc/essl/essl.pkglist | 3 + .../share/xcat/IBMhpc/essl/essl_install | 58 +++++++++ .../xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist | 1 + .../share/xcat/IBMhpc/gpfs/gpfs_mmsdrfs | 2 +- .../share/xcat/IBMhpc/gpfs/gpfs_updates | 20 ++- .../share/xcat/IBMhpc/gpfs/litefile.csv | 4 + .../share/xcat/IBMhpc/loadl/litefile.csv | 4 + .../share/xcat/IBMhpc/loadl/loadl.exlist | 10 ++ .../loadl.sles11.ppc64.otherpkgs.pkglist | 1 + .../share/xcat/IBMhpc/loadl/loadl_install | 115 ++++++++++++++++++ xCAT-IBMhpc/share/xcat/IBMhpc/pe/litefile.csv | 4 + xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.exlist | 11 ++ xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.pkglist | 1 + .../pe/pe.sles11.ppc64.otherpkgs.pkglist | 11 ++ xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_updates | 31 +++++ 27 files changed, 595 insertions(+), 4 deletions(-) create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles.postinstall create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.otherpkgs.pkglist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.pkglist create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.otherpkgs.pkglist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.pkglst create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.pkglist create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl_install create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/litefile.csv create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/loadl/litefile.csv create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.sles11.ppc64.otherpkgs.pkglist create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/pe/litefile.csv create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.exlist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.pkglist create mode 100644 xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.sles11.ppc64.otherpkgs.pkglist create mode 100755 xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_updates diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles.postinstall new file mode 100755 index 000000000..bbd895ee2 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles.postinstall @@ -0,0 +1,72 @@ +#!/bin/sh +#-- +#-- IBMhpc.postinstall +#-- Run this script from your .postinstall to perform the following +#-- general setup in your diskless image for your HPC cluster: +#-- - create entries in /etc/fstab for basic filesystems +#-- - enables the "cons" entry in /etc/inittab +#-- - create initial copies of /etc/passwd and other files in the image +#-- - turn on the "at" service +#-- - turn on xinetd +#-- - +#-- +#-- it gets these arguments: +#-- +#-- $1 = install root (chroot directory for profile) +#-- $2 = OS version +#-- $3 = architecture +#-- $4 = profile name +#-- $5 = work dir (where genimage is located) +#-- +#-- +installroot=$1 +osver=$2 +arch=$3 +profile=$4 +workdir=$5 + +#-- Generate /etc/fstab automatically during image generation: +#-- adjust filesystem sizes as needed for your cluster +cat <$installroot/etc/fstab +proc /proc proc rw 0 0 +sysfs /sys sysfs rw 0 0 +devpts /dev/pts devpts rw,gid=5,mode=620 0 0 +#${profile}_${arch} / tmpfs rw 0 1 +none /tmp tmpfs defaults,size=3g 0 2 +none /var/tmp tmpfs defaults,size=1g 0 2 +END + +#-- Uncomment the "cons" entry in /etc/inittab +#cons:12345:respawn:/sbin/smart_agetty -L 38400 console +TMP_inittab=`sed 's/\(#\)\(cons:12345.*\)$/\2/' $installroot/etc/inittab` +echo "$TMP_inittab" > $installroot/etc/inittab + +# Create initial copies of /etc/passwd and others in case they are needed +# by other postscripts +# If you would like xCAT to keep these up to date, +# use the xCAT syncfiles function which runs during +# packimage/liteimage and at other times +cp -p /etc/passwd $installroot/etc/passwd +cp -p /etc/group $installroot/etc/group +cp -p /etc/shadow $installroot/etc/shadow +cp -p /etc/hosts $installroot/etc/hosts + +# Turn on 'at' service +chroot $installroot chkconfig atd on + +# Turn on xinetd +chroot $installroot chkconfig xinetd on + +# Modify some ulimits +if [ ! -f $installroot/etc/sysconfig/ulimit.XCAT_BAK ]; then + cp -p $installroot/etc/sysconfig/ulimit $installroot/etc/sysconfig/ulimit.XCAT_BAK +fi +if [ -f $installroot/etc/sysconfig/ulimit ]; then + # max locked memory + /usr/bin/sed -i 's/HARDLOCKLIMIT=.*/HARDLOCKLIMIT="unlimited"/g' $installroot/etc/sysconfig/ulimit + /usr/bin/sed -i 's/SOFTLOCKLIMIT=.*/SOFTLOCKLIMIT="unlimited"/g' $installroot/etc/sysconfig/ulimit + # max memory size + /usr/bin/sed -i 's/HARDRESIDENTLIMIT=.*/HARDRESIDENTLIMIT="unlimited"/g' $installroot/etc/sysconfig/ulimit + /usr/bin/sed -i 's/SOFTRESIDENTLIMIT=.*/SOFTRESIDENTLIMIT="unlimited"/g' $installroot/etc/sysconfig/ulimit +fi + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist new file mode 100644 index 000000000..5a681f015 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist @@ -0,0 +1,37 @@ +./boot* +./etc/bootsplash/themes/SLES/images* +./opt/sci/include* +./usr/include* +./usr/lib/locale* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/auto/Encode/CN* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/auto/Encode/JP* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/auto/Encode/TW* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/auto/Encode/KR* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/Encode/CN* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/Encode/JP* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/Encode/KR* +./usr/lib/perl5/5.10.0/ppc64-linux-thread-multi/Encode/TW* +./usr/lib64/gcc/powerpc64-suse-linux/4.3/include* +./usr/local/include* +./usr/local/man* +./usr/powerpc64-suse-linux/include* +./usr/share/X11/locale/* ++./usr/share/X11/locale/en_US.UTF-8* ++./usr/share/X11/locale/C* +./usr/share/cracklib* +./usr/share/doc* +./usr/share/doc/packages/cyrus-sasl/doc* +./usr/share/gnome* +./usr/share/i18n* +./usr/share/info* +./usr/share/locale/* ++./usr/share/locale/en_US* ++./usr/share/locale/C* +./usr/share/man* +./usr/share/omf* +./usr/share/vim/site/doc* +./usr/share/vim/vim72/doc* +./usr/share/zoneinfo* +./var/cache/man* +./var/cache/yum* + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist new file mode 100644 index 000000000..af07d98e5 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist @@ -0,0 +1,42 @@ +# OS packages that are useful for all IBM HPC products + +systemtap +kernel-source +linux-kernel-headers +kdump +yast2-kdump +crash +make +iputils +gdb +powerpc-utils +timezone +ntp +rsh-server +libnuma1-32bit +at +numactl +libnuma1 +src +libpython2_6-1_0 + +gcc-32bit +gcc +gcc-c++ +gcc43-32bit +gcc43 +gcc43-c++ +glibc-devel +glibc-devel-32bit + +xorg-x11-libX11-32bit +xorg-x11-libXp-32bit +xorg-x11-libXau-32bit +xorg-x11-libXext-32bit +xorg-x11-libxcb-32bit +xorg-x11-libXmu-32bit +xorg-x11-libs-32bit +xorg-x11-libX11 +xorg-x11-libXext +xorg-x11-libs-7.4-8.22.23.26 + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.exlist new file mode 100644 index 000000000..c7ff6ad6f --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.exlist @@ -0,0 +1,26 @@ +./opt/ibmcmp/msg/* ++./opt/ibmcmp/msg/en_US* + +./opt/ibmcmp/vac/10.1/crt/include* +./opt/ibmcmp/vac/10.1/include* +./opt/ibmcmp/vac/10.1/msg/* ++./opt/ibmcmp/vac/10.1/msg/en_US* +./opt/ibmcmp/vac/10.1/lap/LI_* +./opt/ibmcmp/vac/10.1/lap/LA_* +./opt/ibmcmp/vac/10.1/lap/license/*.txt + +./opt/ibmcmp/xlmass/5.0/include* +./opt/ibmcmp/xlsmp/1.8/include* +./opt/ibmcmp/xlhelp* + +./opt/ibmcmp/vacpp/10.1/include* +./opt/ibmcmp/vacpp/10.1/msg/* ++./opt/ibmcmp/vacpp/10.1/msg/en_US* + +./opt/ibmcmp/xlf/12.1/include* +./opt/ibmcmp/xlf/12.1/msg/* ++./opt/ibmcmp/xlf/12.1/msg/en_US* +./opt/ibmcmp/xlf/12.1/lap/LA_* +./opt/ibmcmp/xlf/12.1/lap/LI_* +./opt/ibmcmp/xlf/12.1/lap/license/*.txt + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.otherpkgs.pkglist new file mode 100644 index 000000000..a44f6fef6 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.otherpkgs.pkglist @@ -0,0 +1,22 @@ +compilers/xlmass.lib +compilers/xlsmp.msg.rte +compilers/xlsmp.rte +compilers/xlsmp.lib +compilers/xlf.msg.rte +compilers/xlf.rte +compilers/xlf.rte.lnk +compilers/xlf.lib +compilers/xlf.cmp +compilers/xlf.help.pdf +compilers/xlf.samples +compilers/xlf.man +compilers/vacpp.rte +compilers/vac.lib +compilers/vacpp.lib +compilers/vacpp.rte.lnk +compilers/vac.cmp +compilers/vacpp.cmp +compilers/vacpp.help.pdf +compilers/vacpp.samples +compilers/vacpp.man + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.pkglist new file mode 100644 index 000000000..10da2b34e --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers.pkglist @@ -0,0 +1,6 @@ +libstdc++-devel +libstdc++43-32bit +libstdc++43-devel-32bit +libstdc++43-devel +libstdc++33 + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license new file mode 100755 index 000000000..5efa1ca12 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compilers/compilers_license @@ -0,0 +1,31 @@ +#!/bin/sh + +# +# Sample script to accept licenses for the IBM vacpp and xlf compilers +# For AIX: +# TBD +# For Linux: +# Assumes all compiler software has been installed + + +OS=`uname` +vacpp_script=/opt/ibmcmp/vacpp/11.1/bin/new_install +xlf_script=/opt/ibmcmp/xlf/13.1/bin/new_install + + +if [ $OS != "AIX" ]; then + if [ $NODESETSTATE == "install" ]; then + # Being run from a stateful install postscript + echo 1 | $vacpp_script + echo 1 | $xlf_script + fi + + if [ $NODESETSTATE == "genimage" ]; then + # Being called from .postinstall script + # Assume we are on the same machine + chroot $installroot echo 1 | $vacpp_script + chroot $installroot echo 1 | $xlf_script + fi +fi + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.exlist new file mode 100644 index 000000000..f9dfab1bd --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.exlist @@ -0,0 +1,9 @@ +# Sample exlude list for building a diskless SLES 11 PPC64 image + +#INCLUDE:/opt/xcat/share/xcat/netboot/sles/compute.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/compilers/compilers.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/essl/essl.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/gpfs/gpfs.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/loadl/loadl.exlist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/pe/pe.exlist# diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.otherpkgs.pkglist new file mode 100644 index 000000000..93f88c25e --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.otherpkgs.pkglist @@ -0,0 +1,8 @@ +# Sample otherpkgs pkglist for installing all IBM HPC products in a +# SLES11 PPC64 diskless image + +#INCLUDE:/install/custom/netboot/sles/compilers.otherpkgs.pkglist# +#NEW_INSTALL_LIST# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/pe/pe.sles11.ppc64.otherpkgs.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/loadl/loadl.sles11.ppc64.otherpkgs.pkglist# diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.pkglst b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.pkglst new file mode 100644 index 000000000..935444467 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.pkglst @@ -0,0 +1,10 @@ +# Sample package list for installing all IBM HPC products in a +# SLES11 ppc64 diskless image + +#INCLUDE:/opt/xcat/share/xcat/netboot/sles/compute.sles11.ppc64.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/IBMhpc.sles11.ppc64.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/compilers/compilers.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/essl/essl.pkglist# +#INCLUDE:/opt/xcat/share/xcat/IBMhpc/pe/pe.pkglist# + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall new file mode 100755 index 000000000..d19b0a1b5 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/compute.sles11.ppc64.postinstall @@ -0,0 +1,49 @@ +#!/bin/sh +# Sample postinstall script for building a diskless SLES11 PPC64 image +# with all IBM HPC products +# +#-- this script is run after all packages from $profile.pkglist are installed +#-- +#-- it gets these arguments: +#-- +#-- $1 = install root (chroot directory for profile) +#-- $2 = OS version +#-- $3 = architecture +#-- $4 = profile name +#-- $5 = work dir (where genimage is located) +#-- +#-- +installroot=$1 +osver=$2 +arch=$3 +profile=$4 +workdir=$5 + +# Run default postinstall shipped with xcat +/opt/xcat/share/xcat/netboot/sles/compute.sles11.postinstall $1 $2 $3 $4 $5 + +# Run general IBMhpc postinstall script +/opt/xcat/share/xcat/IBMhpc/IBMhpc.sles.postinstall $1 $2 $3 $4 $5 + +# Run script to install gpfs updates +installroot=$installroot NODESETSTATE=genimage /opt/xcat/share/xcat/IBMhpc/gpfs/gpfs_updates +# Run script to update GPFS mmsdrfs file in the image +installroot=$installroot /install/postscripts/gpfs_mmsdrfs + + +# Run script to accept compiler license +installroot=$installroot NODESETSTATE=genimage /opt/xcat/share/xcat/IBMhpc/compilers/compilers_license + + +# Run script for PE +installroot=$installroot NODESETSTATE=genimage /opt/xcat/share/xcat/IBMhpc/pe/pe_updates + + +# Run script to install ESSL and PESSL rpms +installroot=$installroot essldir=/install/post/otherpkgs/$osver/$arch/essl NODESETSTATE=genimage /opt/xcat/share/xcat/IBMhpc/essl/essl_install + + +# Run script to accept LoadLeveler license, install product rpms, +# and do some config +installroot=$installroot loadldir=/install/post/otherpkgs/$osver/$arch/loadl NODESETSTATE=genimage /opt/xcat/share/xcat/IBMhpc/loadl/loadl_install + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.exlist new file mode 100644 index 000000000..ece1f506b --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.exlist @@ -0,0 +1,11 @@ +./opt/ibmmath/essl/4.4/FFTW3/include* +./opt/ibmmath/essl/4.4/include* +./opt/ibmmath/essl/4.4/lap/license/*.txt +./opt/ibmmath/essl/4.4/lap/LI_* +./opt/ibmmath/essl/4.4/lap/LA_* + +./opt/ibmmath/pessl/3.3/lap/LA_* +./opt/ibmmath/pessl/3.3/lap/LI_* +./opt/ibmmath/pessl/3.3/lap/*.jar + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.pkglist new file mode 100644 index 000000000..59f4b7323 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl.pkglist @@ -0,0 +1,3 @@ +java-1_4_2-ibm +bc +xorg-x11-libXp-32bit diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl_install b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl_install new file mode 100755 index 000000000..f7c83661d --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/essl/essl_install @@ -0,0 +1,58 @@ +#!/bin/sh + +# +# Sample script to accept licenses and install ESSL and PESSL packages +# For AIX: +# TBD +# For Linux: +# Assumes all prerequisite software has been installed (e.g. compilers) + + +OS=`uname` +INSTALL_DIR='/install' +ESSL_DIR=$essldir +essl_bin=/opt/ibmmath/essl/5.1/bin +pessl_bin=/opt/ibmmath/pessl/3.3/bin + +if [ -z $ESSL_DIR ]; then + # try to default + ESSL_DIR=$INSTALL_DIR/post/otherpkgs/$OSVER/$ARCH/essl +fi + + + +if [ $OS != "AIX" ]; then + if [ $NODESETSTATE == "install" ]; then + # Being run from a stateful install postscript + # Copy rpms directly from the xCAT management node and install + mkdir -p /tmp/essl + rm -f -R /tmp/essl/* + cd /tmp/essl + download_dir=`echo $ESSL_DIR | cut -d '/' -f3-` + wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 0 -T 60 -nH --cut-dirs=3 ftp://$SITEMASTER/$download_dir/*.rpm 2> /tmp/wget.log + rpm -Uvh essl.license*.rpm + $essl_bin/install_essl -y -d . -nodocs + rpm -Uvh pessl.license*.rpm + $pessl_bin/install_pessl -y -d . -nodocs + rm -Rf /tmp/essl + fi + + if [ $NODESETSTATE == "genimage" ]; then + # Being called from .postinstall script + # Assume we are on the same machine + # IP of MN (this host) + MN=`hostname` + MNIP=`host -t A $MN | cut -d' ' -f4` + xcatmount=/xcatmount + chroot $installroot mkdir $xcatmount + chroot $installroot mount $MNIP:$ESSL_DIR $xcatmount + chroot $installroot rpm -Uvh $xcatmount/essl.license*.rpm + chroot $installroot $essl_bin/install_essl -y -d $xcatmount -nodocs + chroot $installroot rpm -Uvh $xcatmount/pessl.license*.rpm + chroot $installroot $pessl_bin/install_pessl -y -d $xcatmount -nodocs + chroot $installroot umount $xcatmount + chroot $installroot rmdir $xcatmount + fi +fi + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist index 1a003f014..67fe25412 100644 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs.otherpkgs.pkglist @@ -1,4 +1,5 @@ libstdc++33 gpfs/gpfs.base gpfs/gpfs.gpl +gpfs/gpfs.gplbin gpfs/gpfs.msg.en_US diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_mmsdrfs b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_mmsdrfs index 397b84779..e42ff17be 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_mmsdrfs +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_mmsdrfs @@ -20,7 +20,7 @@ SOURCE=/var/mmfs/gen/mmsdrfs # The images to be updated (list as many as needed) -IMAGE[1]=sles11-ppc64-netboot-service2 +IMAGE[1]=sles11-ppc64-netboot-service IMAGE[2]=sles11-ppc64-netboot-compute # The noderange for service nodes diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates index 89313ec65..8ba6021ff 100755 --- a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates @@ -84,18 +84,32 @@ if [ $OS == "AIX" ]; then echo 'PATH=$PATH:/usr/lpp/mmfs/bin' >> /etc/profile fi else # assume Linux + gpfsprofile=/etc/profile.d/gpfs if [ $NODESETSTATE == "genimage" ]; then - gpfsprofile=$installroot/etc/profile.d/gpfs - else - gpfsprofile=/etc/profile.d/gpfs + gpfsprofile=$installroot$gpfsprofile fi if [ ! -e $gpfsprofile.sh ]; then echo 'PATH=$PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.sh echo '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 chmod 744 $gpfsprofile.sh chmod 744 $gpfsprofile.csh fi fi +# If you are using a shared home directory stored in GPFS, +# create the symbolic link +# +# GPFSHOME=/gpfs/home +# HOMEDIR=/u +# if [ $NODESETSTATE == "genimage" ]; then +# HOMEDIR=$installroot/$HOMEDIR +# fi +# ln -s $GPFSHOME $HOMEDIR + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/litefile.csv b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/litefile.csv new file mode 100644 index 000000000..c969ce2e1 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/litefile.csv @@ -0,0 +1,4 @@ +#image,file,options,comments,disable +"compute","/var/mmfs/","persistent","for GPFS", +"compute","/var/adm/ras/","persistent","for GPFS", +"compute","/gpfs/",,"for GPFS", diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/litefile.csv b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/litefile.csv new file mode 100644 index 000000000..5b75ac4a5 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/litefile.csv @@ -0,0 +1,4 @@ +#image,file,options,comments,disable +"ALL","/home/",,"for user management, PE,LL use non-root user", +"compute","/var/loadl/","persistent","used by LL log, spool and exec", + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.exlist new file mode 100644 index 000000000..16a800e3f --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.exlist @@ -0,0 +1,10 @@ +#LoadL +./opt/ibmll/LoadL/READMES* +./opt/ibmll/LoadL/full/man* +./opt/ibmll/LoadL/full/samples* +./opt/ibmll/LoadL/lap/*.jar +./opt/ibmll/LoadL/lap/LI_* +./opt/ibmll/LoadL/lap/LA_* +./opt/ibmll/LoadL/lap/license/*.txt + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.sles11.ppc64.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.sles11.ppc64.otherpkgs.pkglist new file mode 100644 index 000000000..844cae545 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl.sles11.ppc64.otherpkgs.pkglist @@ -0,0 +1 @@ +loadl/LoadL-resmgr-full-SLES11-PPC64 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install new file mode 100755 index 000000000..99861bcb8 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/loadl/loadl_install @@ -0,0 +1,115 @@ +#!/bin/sh + +# +# Sample script to accept license and install LoadLeveler resmgr package +# and perform additional customizations +# For AIX: +# TBD +# For Linux: +# + + +OS=`uname` +INSTALL_DIR='/install' +LOADL_DIR=$loadldir +aix_loadl_bin=/usr/lpp/LoadL/full/bin +linux_loadl_bin=/opt/ibmll/LoadL/resmgr/full/bin +linux_loadl_license_script=/opt/ibmll/LoadL/resmgr/sbin/install_resmgr + +if [ -z $LOADL_DIR ]; then + # try to default + LOADL_DIR=$INSTALL_DIR/post/otherpkgs/$OSVER/$ARCH/loadl +fi + + +if [ $OS != "AIX" ]; then + if [ $NODESETSTATE == "install" ]; then + # Being run from a stateful install postscript + # Copy rpms directly from the xCAT management node and install + mkdir -p /tmp/loadl + rm -f -R /tmp/loadl/* + cd /tmp/loadl + download_dir=`echo $LOADL_DIR | cut -d '/' -f3-` + wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 0 -T 60 -nH --cut-dirs=3 ftp://$SITEMASTER/$download_dir/*.rpm 2> /tmp/wget.log + rpm -Uvh LoadL-resmgr-full-license*.rpm + $linux_loadl_license_script -y -d . + rm -Rf /tmp/loadl + mkdir /dev/cpuset + mount -t cpuset none /dev/cpuset + fi + + if [ $NODESETSTATE == "genimage" ]; then + # Being called from .postinstall script + # Assume we are on the same machine + # IP of MN (this host) + MN=`hostname` + MNIP=`host -t A $MN | cut -d' ' -f4` + xcatmount=/xcatmount + mkdir $installroot/$xcatmount + chroot $installroot mount $MNIP:$LOADL_DIR $xcatmount + # The license rpm should already be installed, but just in case... + chroot $installroot rpm -Uvh $xcatmount/LoadL-resmgr-full-license*.rpm + chroot $installroot $linux_loadl_license_script -y -d $xcatmount + chroot $installroot umount $xcatmount + rmdir $installroot/$xcatmount + mkdir $installroot/dev/cpuset + chroot $installroot mount -t cpuset none /dev/cpuset + fi +fi + +# Add LoadLeveler path to profile +if [ $OS == "AIX" ]; then + # add to /etc/profile + if ! grep 'LoadL' /etc/profile >& /dev/null; then + echo 'PATH=$PATH:$aix_loadl_bin' >> /etc/profile + fi +else # assume Linux + loadlprofile=/etc/profile.d/loadl + if [ $NODESETSTATE == "genimage" ]; then + loadlprofile=$installroot$loadlprofile + fi + if [ ! -e $loadlprofile.sh ]; then + echo 'PATH=$PATH:$linux_loadl_bin' > $loadlprofile.sh + echo '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 + chmod 744 $loadlprofile.sh + chmod 744 $loadlprofile.csh + fi +fi + + + +# Create LoadLeveler Directories: +# For stateless nodes, these directories need to be created in the image +# since they will be in memory only, and will be lost on node reboot. +# You may choose to modify this approach and use a more +# persistent location. +# For statelite, make sure the directory is writable; +# this will also be a memory-only copy of the files unless you set +# the directory "persistent" in the statelite table. +if [ $NODESETSTATE != "genimage" ]; then + # running as a postscript in a full-disk install or AIX diskless install + installroot="" +fi +logdir=/var/loadl +mkdir -p $installroot$logdir/execute +mkdir -p $installroot$logdir/spool +mkdir -p $installroot$logdir/log +mkdir -p $installroot$logdir/sockets +mkdir -p $installroot$logdir/core +chmod 700 $installroot$logdir/spool +chmod 1777 $installroot$logdir/execute +chmod 775 $installroot$logdir/log +chmod 777 $installroot$logdir/sockets +chmod 777 $installroot$logdir/core + +# Owner set to 'loadl' userid, change if using a different userid +chown -R loadl:loadl $installroot$logdir/ + +cp /etc/LoadL.cfg $installroot/etc/LoadL.cfg + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/litefile.csv b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/litefile.csv new file mode 100644 index 000000000..70e89931f --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/litefile.csv @@ -0,0 +1,4 @@ +#image,file,options,comments,disable +"ALL","/home/",,"for user management, PE,LL use non-root user", +"compute","/etc/PNSD.cfg",,"for PE", +"compute","/etc/objrepos/",,"For SRC, used by PE", diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.exlist b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.exlist new file mode 100644 index 000000000..847caaab1 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.exlist @@ -0,0 +1,11 @@ +./opt/ibmhpc/lapi/include* +./opt/ibmhpc/lapi/pnsd/include* +./opt/ibmhpc/lapi/samples* + +./opt/ibmhpc/ppe.poe/include* +./opt/ibmhpc/ppe.poe/man/* +./opt/ibmhpc/ppe.poe/samples* +./opt/ibmhpc/hal/include* +./etc/opt/ibmhpc/license/*.txt + + diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.pkglist new file mode 100644 index 000000000..720f23c80 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.pkglist @@ -0,0 +1 @@ +java-1_4_2-ibm diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.sles11.ppc64.otherpkgs.pkglist b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.sles11.ppc64.otherpkgs.pkglist new file mode 100644 index 000000000..e7a450987 --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe.sles11.ppc64.otherpkgs.pkglist @@ -0,0 +1,11 @@ +lapi_ppc_32bit_base +lapi_ppc_64bit_IP_sles1100 +lapi_ppc_32bit +lapi_ppc_64bit_US_sles1100 +IBM_pe_license +ibm_pe_sles11 +ppe_ppc_base_32bit_sles1100 +ppe_ppc_64bit_sles1100 +ppe_pdb_ppc_sles1100 +sci_ppc_32bit_sles1100 +sci_ppc_64bit_sles110 diff --git a/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_updates b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_updates new file mode 100755 index 000000000..09b7a9cfa --- /dev/null +++ b/xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_updates @@ -0,0 +1,31 @@ +# +# Sample script to customize options for PE +# For AIX: +# TBD +# For Linux: +# - Create a smaller PNSD log file in /tmp +# - Configure poe.limits file + +if [ $NODESETSTATE != "genimage" ]; then + # running as a postscript in a full-disk install or AIX diskless install + installroot="" +fi + +# Configure the PNSD.cfg to use a smaller log so it doesn't use so much memory +# for a stateless image. Normally, pnsd creates this file if it does not +# exist, but it will not fill it in if it does exist. +if [ ! -f $installroot/etc/PNSD.cfg ]; then + echo "log_file = /tmp/serverlog" > $installroot/etc/PNSD.cfg + echo "log_file_size = 2097152" >> $installroot/etc/PNSD.cfg + echo "socket_file = /tmp/PNSD" >> $installroot/etc/PNSD.cfg +else + /usr/bin/sed -i 's/log_file_size = .*/log_file_size = 2097152/g' $installroot/etc/PNSD.cfg +fi + +# Configure the poe.limits file +if [ ! -f $installroot/etc/poe.limits ]; then + echo "MP_POE_LAUNCH=all" > $installroot/etc/poe.limits +else + /usr/bin/sed -i 's/MP_POE_LAUNCH=.*/MP_POE_LAUNCH=all/g' $installroot/etc/poe.limits +fi +