minor fixes
[automated-distro-installer] / fai-revm
index 97b6338ff1f97e9d64871c39ed9f628c98d6c132..4009ede6e37a081ab7da6d631dd25c69da5534e1 100755 (executable)
--- a/fai-revm
+++ b/fai-revm
@@ -34,8 +34,9 @@ then start a virtual machine to test the config
 Note, sometimes shutting down the existing demohost vm
 fails. Just run again if that happens.
 
 Note, sometimes shutting down the existing demohost vm
 fails. Just run again if that happens.
 
--r         Do not reboot.
--n         Create new qcow2(s) for vm
+-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.
 -h|--help  Print help and exit.
 
 Note: Uses GNU getopt options parsing style
 -h|--help  Print help and exit.
 
 Note: Uses GNU getopt options parsing style
@@ -43,22 +44,20 @@ EOF
     exit $1
 }
 
     exit $1
 }
 
-
+orig_args=("$@")
 new_disk=false
 new_disk=false
-reboot=true
 temp=$(getopt -l help hnr "$@") || usage 1
 eval set -- "$temp"
 while true; do
     case $1 in
         -n) new_disk=true; shift ;;
 temp=$(getopt -l help hnr "$@") || usage 1
 eval set -- "$temp"
 while true; do
     case $1 in
         -n) new_disk=true; shift ;;
-        -r) reboot=false; shift ;;
+        -r) reboot_arg=--noreboot; shift ;;
         -h|--help) usage ;;
         --) shift; break ;;
         *) echo "$0: Internal error!" ; exit 1 ;;
     esac
 done
 
         -h|--help) usage ;;
         --) shift; break ;;
         *) echo "$0: Internal error!" ; exit 1 ;;
     esac
 done
 
-
 # change this to test different disk counts. 1 and > 1 should be the only
 # important things to test.
 disk_count=1
 # change this to test different disk counts. 1 and > 1 should be the only
 # important things to test.
 disk_count=1
@@ -70,7 +69,7 @@ if [[ $script_dir == /a/bin/* ]]; then
     rm -rf /tmp/faifreeze
     mkdir -p /a/tmp
     cp -ar /a/bin/fai /tmp/faifreeze
     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
 fi
 
 cd $script_dir
@@ -79,7 +78,10 @@ is_arch_revm() {
     [[ ${0##*/} == arch-revm ]]
 }
 
     [[ ${0##*/} == arch-revm ]]
 }
 
-cleanup() { ./pxe-server; }
+cleanup() {
+    ./pxe-server
+    ./faiserver-disable
+}
 if is_arch_revm; then
     ./pxe-server demohost arch
     sleep 2
 if is_arch_revm; then
     ./pxe-server demohost arch
     sleep 2
@@ -106,7 +108,7 @@ for ((i=1; i <= disk_count; i++)); do
     disk_arg+=("--disk path=$f")
     if $new_disk || [[ ! -e $f ]]; then
         s rm -f $f
     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
 
     fi
 done
 
@@ -120,7 +122,7 @@ fi
 #
 # uniq is to stop gtk-warning spam
 e s virt-install --os-variant $variant  -n $name --pxe -r 2048 --vcpus 1 \
 #
 # uniq is to stop gtk-warning spam
 e s virt-install --os-variant $variant  -n $name --pxe -r 2048 --vcpus 1 \
-  ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad \
+  ${disk_arg[*]} -w bridge=br0,mac=52:54:00:9c:ef:ad $reboot_arg \
   --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
 
 if [[ $SSH_CLIENT ]]; then
   --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
 
 if [[ $SSH_CLIENT ]]; then
@@ -128,7 +130,7 @@ if [[ $SSH_CLIENT ]]; then
 fi
 
 sleep 30
 fi
 
 sleep 30
-while ! timeout -s 9 10 ssh root@$name /bin/true; do
+while ! timeout -s 9 10 ssh -oBatchMode=yes root@$name /bin/true; do
     e sleep 5
 done
 cleanup() { :; }
     e sleep 5
 done
 cleanup() { :; }