Modified setupscratch postscript to take -f as an argument. Also added support for postscripts to take arguments

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.6@9775 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
linggao
2011-06-09 17:53:18 +00:00
parent feec1700ff
commit 32baaa1256
4 changed files with 41 additions and 34 deletions
+3 -2
View File
@@ -359,11 +359,12 @@ sub preprocess_updatenode
foreach (@posts)
{
if (!-e "$installdir/postscripts/$_")
my @aa=split(' ', $_);
if (!-e "$installdir/postscripts/$aa[0]")
{
my $rsp = {};
$rsp->{data}->[0] =
"The postcript $installdir/postscripts/$_ does not exist.";
"The postcript $installdir/postscripts/$aa[0] does not exist.";
$callback->($rsp);
return \@requests;
}
+34 -28
View File
@@ -3,39 +3,45 @@
#
# This postscript sets up a scratch area on the local disk for stateless
# nodes. It is for Linux only.
# If run with -f flag, it will wipe out all the contents on the disk and
# repartition the disk before setting up the scratch area.
#
#====================================================================
ME="setupscratch"
if grep sda1 /proc/partitions >/dev/null 2>&1
then
echo Autodetected existing /dev/sda1
logger -t $ME Autodetected existing /dev/sda1
echo Checking filesystem /dev/sda1
logger -t $ME Checking filesystem /dev/sda1
fsck -y /dev/sda1
mkdir -p /scratch
echo mounting existing /dev/sda1 to /scratch
logger -t $ME mounting existing /dev/sda1 to /scratch
if mount /dev/sda1 /scratch
then
echo
echo Done!
echo
exit 0
else
echo mounting /dev/sda1 to /scratch failed
logger -t $ME mounting /dev/sda1 to /scratch failed
fi
fi
mydir="/scratch"
umount $mydir
if [[ $1 != "-f" ]]
then
if grep sda1 /proc/partitions >/dev/null 2>&1
then
echo Autodetected existing /dev/sda1
logger -t $ME Autodetected existing /dev/sda1
echo Checking filesystem /dev/sda1
logger -t $ME Checking filesystem /dev/sda1
fsck -y /dev/sda1
mkdir -p $mydir
echo mounting existing /dev/sda1 to $mydir
logger -t $ME mounting existing /dev/sda1 to $mydir
if mount /dev/sda1 $mydir
then
echo
echo Done!
echo
exit 0
else
echo mounting /dev/sda1 to $mydir failed
logger -t $ME mounting /dev/sda1 to $mydir failed
fi
fi
fi
echo Creating Partition
logger -t $ME Creating Partition
parted /dev/sda mklabel gpt
MB=$(cat /proc/partitions | grep sda | awk '{printf "%d\n",( $3 / (1024 )) }')
parted /dev/sda mkpart primary ext2 0 $MB
parted -s /dev/sda mklabel gpt
parted -s -- /dev/sda mkpart primary ext3 0 -0
if grep sda1 /proc/partitions >/dev/null 2>&1
then
sleep 5
@@ -51,10 +57,10 @@ fi
echo Creating new ext3 filesystem: /dev/sda1
logger -t $ME Creating new ext3 filesystem: /dev/sda1
mke2fs -j /dev/sda1
mkdir -p /scratch
echo mounting new /dev/sda1 to /scratch
logger -t $ME mounting new /dev/sda1 to /scratch
mount /dev/sda1 /scratch
mkdir -p $mydir
echo mounting new /dev/sda1 to $mydir
logger -t $ME mounting new /dev/sda1 to $mydir
mount /dev/sda1 $mydir
echo
echo Done!
echo
+2 -2
View File
@@ -277,8 +277,8 @@ run_ps () {
logfile=\\"/var/log/xcat/xcat.log\\"
if [[ -f \\\$1 ]]; then
echo \\"Running postscript: \\\$1\\" | tee -a \\\$logfile
./\\\$1 2>&1 | tee -a \\\$logfile
echo \\"Running postscript: \\\$@\\" | tee -a \\\$logfile
./\\\$@ 2>&1 | tee -a \\\$logfile
else
echo \\"Postscript \\\$1 does NOT exist.\\" | tee -a \\\$logfile
fi
+2 -2
View File
@@ -296,8 +296,8 @@ run_ps () {
logfile=\"/var/log/xcat/xcat.log\"
if [[ -f \$1 ]]; then
echo \"Running postscript: \$1\" | tee -a \$logfile
./\$1 2>&1 | tee -a \$logfile
echo \"Running postscript: \$@\" | tee -a \$logfile
./\$@ 2>&1 | tee -a \$logfile
else
echo \"Postscript \$1 does NOT exist.\" | tee -a \$logfile
fi