From 2204106886274506f6c39ac4388e4043ac41f3cb Mon Sep 17 00:00:00 2001 From: xq2005 Date: Tue, 14 Aug 2012 11:22:52 +0000 Subject: [PATCH] full install ubuntu on compute node git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@13502 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- .../share/xcat/install/scripts/post.ubuntu | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/xCAT-server/share/xcat/install/scripts/post.ubuntu b/xCAT-server/share/xcat/install/scripts/post.ubuntu index e3b3ed61a..eaf2420dc 100644 --- a/xCAT-server/share/xcat/install/scripts/post.ubuntu +++ b/xCAT-server/share/xcat/install/scripts/post.ubuntu @@ -31,6 +31,10 @@ done >>/etc/resolv.conf export MASTER_IP="#XCATVAR:XCATMASTER#" export MASTER_IPS="#XCATVAR:XCATMASTER#" export MASTER="#XCATVAR:XCATMASTER#" +export INSTALLDIR=#TABLE:site:key=installdir:value# +if [ -z "$INSTALLDIR" ]; then + INSTALLDIR="/install" +fi cd /tmp RAND=$(perl -e 'print int(rand(50)). "\n"') sleep $RAND @@ -39,7 +43,7 @@ do GOTIT=0 for i in $MASTER_IPS do - wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 0 -T 60 ftp://$i/postscripts + wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -e robots=off -nH --cut-dirs=2 --reject "index.html*" --no-parent -t 0 -T 60 http://$i$INSTALLDIR/postscripts/ -P /xcatpost #wget --wait=10 --random-wait --waitretry=10 --retry-connrefused -t 0 -T 60 http://$i/install/autoinst/xcatpost.tar.gz if [ "$?" = "0" ] then @@ -53,8 +57,8 @@ do mv $i/postscripts /xcatpost rm -rf $i chmod +x /xcatpost/* - /xcatpost/getpostscript.awk |sed -e 's/<[^>]*>//g'|egrep -v '^ *$'|sed -e 's/^ *//' > /tmp/mypostscript - MYCONT=`grep MASTER /tmp/mypostscript` + /xcatpost/getpostscript.awk |sed -e 's/<[^>]*>//g'|egrep -v '^ *$'|sed -e 's/^ *//' > /xcatpost/mypostscript + MYCONT=`grep MASTER /xcatpost/mypostscript` MAX_RETRIES=10 RETRY=0 while [ -z "$MYCONT" ]; do @@ -66,12 +70,12 @@ do let SLI=$RANDOM%10+10 sleep $SLI - /xcatpost/getpostscript.awk |sed -e 's/<[^>]*>//g'|egrep -v '^ *$'|sed -e 's/^ *//' > /tmp/mypostscript - MYCONT=`grep MASTER /tmp/mypostscript` + /xcatpost/getpostscript.awk |sed -e 's/<[^>]*>//g'|egrep -v '^ *$'|sed -e 's/^ *//' > /xcatpost/mypostscript + MYCONT=`grep MASTER /xcatpost/mypostscript` done - chmod +x /tmp/mypostscript + chmod +x /xcatpost/mypostscript GOTIT=1 break fi @@ -101,7 +105,7 @@ export PATH=/xcatpost:$PATH # However, Ubuntu cleans /tmp on reboot. So, for Ubuntu, /var/tmp is used instead. # use the run_ps subroutine to run the postscripts -TMP=`sed "/postscripts-start-here/,/postscripts-end-here/ s/\(.*\)/run_ps \1/;s/run_ps\s*#/#/;s/run_ps\s*$//" /tmp/mypostscript` +TMP=`sed "/postscripts-start-here/,/postscripts-end-here/ s/\(.*\)/run_ps \1/;s/run_ps\s*#/#/;s/run_ps\s*$//" /xcatpost/mypostscript` echo " # subroutine used to run postscripts run_ps () { @@ -110,25 +114,26 @@ run_ps () { logfile=\"/var/log/xcat/xcat.log\" if [ -f \$1 ]; then - echo \"Running postscript: \$@\" | tee -a \$logfile - ./\$@ 2>&1 1> /tmp/tmp4xcatlog - cat /tmp/tmp4xcatlog | tee -a \$logfile + echo "\"\`date\` Running postscript: \$@\"" | tee -a \$logfile + #./\$@ 2>&1 1> /tmp/tmp4xcatlog + #cat /tmp/tmp4xcatlog | tee -a \$logfile + ./\$@ 2>&1 | tee -a $logfile else - echo \"Postscript \$1 does NOT exist.\" | tee -a \$logfile + echo "\"\`date\` Postscript \$1 does NOT exist.\"" | tee -a \$logfile fi } # subroutine end -" > /tmp/mypostscript -echo "$TMP" >> /tmp/mypostscript -TMP=`sed "/postbootscripts-start-here/,/postbootscripts-end-here/ s/\(.*\)/run_ps \1/;s/run_ps\s*#/#/;s/run_ps\s*$//" /tmp/mypostscript` -echo "$TMP" > /tmp/mypostscript +" > /xcatpost/mypostscript +echo "$TMP" >> /xcatpost/mypostscript +TMP=`sed "/postbootscripts-start-here/,/postbootscripts-end-here/ s/\(.*\)/run_ps \1/;s/run_ps\s*#/#/;s/run_ps\s*$//" /xcatpost/mypostscript` +echo "$TMP" > /xcatpost/mypostscript -TMP=`sed "/postscripts-start-here/,/postscripts-end-here/ d" /tmp/mypostscript` -echo "$TMP" > /var/tmp/mypostscript.post -chmod 755 /var/tmp/mypostscript.post +TMP=`sed "/postscripts-start-here/,/postscripts-end-here/ d" /xcatpost/mypostscript` +echo "$TMP" > /xcatpost/mypostscript.post +chmod 755 /xcatpost/mypostscript.post #create the post init cat >/etc/init.d/xcatpostinit1 << 'EOF' @@ -144,10 +149,10 @@ EOF chmod 755 /opt/xcat/xcatinstallpost #only run the prebooot scripts here -TMP=`sed "/postbootscripts-start-here/,/postbootscripts-end-here/ d" /tmp/mypostscript` -echo "$TMP" > /tmp/mypostscript +TMP=`sed "/postbootscripts-start-here/,/postbootscripts-end-here/ d" /xcatpost/mypostscript` +echo "$TMP" > /xcatpost/mypostscript -/tmp/mypostscript +/xcatpost/mypostscript export NODE=#TABLE:nodelist:THISNODE:node# export OSVER=#TABLE:nodetype:THISNODE:os# export ARCH=#TABLE:nodetype:THISNODE:arch#