various fixes and improvements
[automated-distro-installer] / fai-revm
index 3b057957ea9ae71a7465f6addc60f881ea8c4920..2dbae8fafe89c77c68746233f5d1a32f04c11741 100755 (executable)
--- a/fai-revm
+++ b/fai-revm
@@ -17,9 +17,9 @@
 
 
 
-x="$(readlink -f "$BASH_SOURCE")"; source "${x%/*}/bash-trace"
-
-script_dir="$(readlink -f "$BASH_SOURCE")"
+x="$(readlink -f "$BASH_SOURCE")"
+script_dir="${x%/*}"
+source "${script_dir}/bash-trace"
 
 e() { echo "$*"; "$@"; }
 
@@ -33,6 +33,7 @@ then start a virtual machine to test the config
 Note, sometimes shutting down the existing demohost vm
 fails. Just run again if that happens.
 
+-d         Don't do dhcp setup for when we aren't on Ian's home network.
 -r         Do not boot after install is complete
 -n         Create new qcow2(s) for vm. Good for testing partitioning
            script, to ensure a blank disk.
@@ -45,10 +46,11 @@ EOF
 
 orig_args=("$@")
 new_disk=false
-temp=$(getopt -l help hnr "$@") || usage 1
+temp=$(getopt -l help dnrh "$@") || usage 1
 eval set -- "$temp"
 while true; do
     case $1 in
+        -d) dhcp_arg=-d; shift ;;
         -n) new_disk=true; shift ;;
         -r) reboot_arg=--noreboot; shift ;;
         -h|--help) usage ;;
@@ -57,6 +59,7 @@ 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
@@ -66,7 +69,6 @@ if [[ $script_dir == /a/bin/* ]]; then
     # Copy our script elsewhere so we can develop it
     # and save it at the same time it's running
     rm -rf /tmp/faifreeze
-    mkdir -p /a/tmp
     cp -ar /a/bin/fai /tmp/faifreeze
     exec /tmp/faifreeze/${BASH_SOURCE##*/} "${orig_args[@]}"
 fi
@@ -78,18 +80,19 @@ is_arch_revm() {
 }
 
 cleanup() {
-    ./pxe-server
+    echo "doing cleanup"
+    e ./pxe-server $dhcp_arg
     ./faiserver-disable
 }
 _errcatch_cleanup=cleanup
 
 if is_arch_revm; then
-    ./pxe-server demohost arch
+    e ./pxe-server $dhcp_arg demohost arch
     sleep 2
     # via osinfo-query os. guessing arch is closest to latest fedora.
     variant=fedora22
 else
-    ./pxe-server demohost fai
+    e ./pxe-server $dhcp_arg demohost fai
     sleep 2
     # I don't think these variants actually make a diff for us, but I
     # use the appropriate one when trying a new distro just in case.