Deployment corrections for Fuel 93/593/3
authorStefan K. Berg <stefan.k.berg@ericsson.com>
Tue, 19 May 2015 08:14:43 +0000 (10:14 +0200)
committerStefan K. Berg <stefan.k.berg@ericsson.com>
Tue, 19 May 2015 08:55:02 +0000 (10:55 +0200)
The most important change is the introduction of support for a selectable
temporary directory for ISO manipulations by setting the TMPDIR variable.

Invoke deploy.sh as "sudo TMPDIR=/my/tmp/dir ./deploy.sh ..." to make
use of this, otherwise the temporary directory defaults to that of the
user running the script.

Other improvements:

- Added error check for when the patch-iso.sh gets an error from
  copying data with cpio (potentially indicating out of disk space)
- Corrected typo in deploy.sh: error-exit -> error_exit

JIRA

Change-Id: I74966c3fe2bee0ac1923cfa9bd9ebfe1ca73a9da
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
fuel/prototypes/auto-deploy/deploy/deploy.sh
fuel/prototypes/auto-deploy/deploy/functions/patch-iso.sh

index 938efb6..f5aa634 100755 (executable)
@@ -13,7 +13,6 @@
 topdir=$(dirname $(readlink -f $BASH_SOURCE))
 exampledir=$(cd $topdir/../examples; pwd)
 functions=${topdir}/functions
-tmpdir=$HOME/fueltmp
 
 # Define common functions
 . ${functions}/common.sh
@@ -61,7 +60,23 @@ if [ $# -ne 3 ]; then
     exit 1
 fi
 
-# Setup tmpdir
+# Setup tmpdir - if TMPDIR env variable is set, use that one
+# else create in $HOME/fueltmp
+if [ -n "${TMPDIR}" ]; then
+    if [ -d ${TMPDIR} ]; then
+        tmpdir=${TMPDIR}/fueltmp
+        echo "Using TMPDIR=${TMPDIR}, so tmpdir=${tmpdir}"
+    else
+        error_exit "No such directory for TMPDIR: ${TMPDIR}"
+    fi
+else
+    tmpdir=${HOME}/fueltmp
+    echo "Default: tmpdir=$tmpdir"
+fi
+
+# Umask must be changed so files created are readable by qemu
+umask 0022
+
 if [ -d $tmpdir ]; then
   rm -Rf $tmpdir || error_exit "Could not remove tmpdir $tmpdir"
 fi
@@ -74,9 +89,9 @@ dhafile=$(cd `dirname $3`; echo `pwd`/`basename $3`)
 if [ ! -f $isofile ]; then
   error_exit "Could not find ISO file $isofile"
 elif [ ! -f $deafile ]; then
-  error-exit "Could not find DEA file $deafile"
+  error_exit "Could not find DEA file $deafile"
 elif [ ! -f $dhafile ]; then
-  error-exit "Could not find DHA file $dhafile"
+  error_exit "Could not find DHA file $dhafile"
 fi
 
 # Connect adapter
index 933281f..d27dcdf 100755 (executable)
@@ -9,13 +9,10 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-# This is a temporary script - this should be rolled into a separate
-# build target "make ci-iso" instead!
-
 exit_handler() {
     rm -Rf $tmpnewdir
     fusermount -u $tmporigdir 2>/dev/null
-    test -d $tmporigdir && mdir $tmporigdir
+    test -d $tmporigdir && rmdir $tmporigdir
 }
 
 trap exit_handler exit
@@ -39,8 +36,8 @@ fuelGateway=$6
 fuelHostname=$7
 fuelDns=$8
 
-tmporigdir=/${tmpdir}/origiso
-tmpnewdir=/${tmpdir}/newiso
+tmporigdir=${tmpdir}/origiso
+tmpnewdir=${tmpdir}/newiso
 
 test -f $origiso || error_exit "Could not find origiso $origiso"
 test -d $tmpdir || error_exit "Could not find tmpdir $tmpdir"
@@ -51,15 +48,15 @@ if [ "`whoami`" != "root" ]; then
 fi
 
 echo "Copying..."
-rm -Rf $tmporigdir $tmpnewdir
+rm -Rf $tmpnewdir || error_exit "Failed deleting old ISO copy dir"
 mkdir -p $tmporigdir $tmpnewdir
-fuseiso $origiso $tmporigdir || error_exit "Failed fuseiso"
+fuseiso $origiso $tmporigdir || error_exit "Failed to FUSE mount ISO"
 cd $tmporigdir
-find . | cpio -pd $tmpnewdir
+find . | cpio -pd $tmpnewdir || error_exit "Failed to copy FUSE ISO with cpio"
 cd $tmpnewdir
-fusermount -u $tmporigdir
-rmdir $tmporigdir
-chmod -R 755 $tmpnewdir
+fusermount -u $tmporigdir || error_exit "Failed to FUSE unmount ISO"
+rmdir $tmporigdir || error_exit "Failed to delete original FUSE ISO directory"
+chmod -R 755 $tmpnewdir || error_exit "Failed to set protection on new ISO dir"
 
 echo "Patching..."
 cd $tmpnewdir