add more stack traces, other minor changes
[automated-distro-installer] / fai-revm
index 8d782c0f857f6fbc48bf0231d2046de632e9e660..3b057957ea9ae71a7465f6addc60f881ea8c4920 100755 (executable)
--- a/fai-revm
+++ b/fai-revm
 
 
 
-cleanup() { :; }
-set -eE -o pipefail
-trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-script_dir=$(dirname $(readlink -f "$BASH_SOURCE"))
+x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace"
+
+script_dir="$(readlink -f "$BASH_SOURCE")"
 
 e() { echo "$*"; "$@"; }
 
@@ -35,7 +34,8 @@ Note, sometimes shutting down the existing demohost vm
 fails. Just run again if that happens.
 
 -r         Do not boot after install is complete
--n         Create new qcow2(s) for vm
+-n         Create new qcow2(s) for vm. Good for testing partitioning
+           script, to ensure a blank disk.
 -h|--help  Print help and exit.
 
 Note: Uses GNU getopt options parsing style
@@ -43,6 +43,7 @@ EOF
     exit $1
 }
 
+orig_args=("$@")
 new_disk=false
 temp=$(getopt -l help hnr "$@") || usage 1
 eval set -- "$temp"
@@ -56,7 +57,6 @@ while true; do
     esac
 done
 
-
 # change this to test different disk counts. 1 and > 1 should be the only
 # important things to test.
 disk_count=1
@@ -68,7 +68,7 @@ if [[ $script_dir == /a/bin/* ]]; then
     rm -rf /tmp/faifreeze
     mkdir -p /a/tmp
     cp -ar /a/bin/fai /tmp/faifreeze
-    exec /tmp/faifreeze/${BASH_SOURCE##*/} "$@"
+    exec /tmp/faifreeze/${BASH_SOURCE##*/} "${orig_args[@]}"
 fi
 
 cd $script_dir
@@ -77,7 +77,12 @@ is_arch_revm() {
     [[ ${0##*/} == arch-revm ]]
 }
 
-cleanup() { ./pxe-server; }
+cleanup() {
+    ./pxe-server
+    ./faiserver-disable
+}
+_errcatch_cleanup=cleanup
+
 if is_arch_revm; then
     ./pxe-server demohost arch
     sleep 2
@@ -104,7 +109,7 @@ for ((i=1; i <= disk_count; i++)); do
     disk_arg+=("--disk path=$f")
     if $new_disk || [[ ! -e $f ]]; then
         s rm -f $f
-        e s qemu-img create -o preallocation=metadata -f qcow2 $f 20G
+        e s qemu-img create -o preallocation=metadata -f qcow2 $f 50G
     fi
 done
 
@@ -129,7 +134,7 @@ sleep 30
 while ! timeout -s 9 10 ssh -oBatchMode=yes root@$name /bin/true; do
     e sleep 5
 done
-cleanup() { :; }
+unset _errcatch_cleanup
 e pxe-server
 if is_arch_revm; then
     ./arch-init-remote $name