minor fixes
[automated-distro-installer] / fai-revm
index fcb9c073a58e0c74ba2702f490f0d82f4a53670e..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.
 
--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
@@ -43,22 +44,20 @@ EOF
     exit $1
 }
 
-
+orig_args=("$@")
 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 ;;
-        -r) reboot=false; shift ;;
+        -r) reboot_arg=--noreboot; shift ;;
         -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
@@ -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
-    exec /tmp/faifreeze/${BASH_SOURCE##*/} "$@"
+    exec /tmp/faifreeze/${BASH_SOURCE##*/} "${orig_args[@]}"
 fi
 
 cd $script_dir
@@ -79,14 +78,17 @@ is_arch_revm() {
     [[ ${0##*/} == arch-revm ]]
 }
 
-cleanup() { ./pxe-server :; }
+cleanup() {
+    ./pxe-server
+    ./faiserver-disable
+}
 if is_arch_revm; then
-    ./pxe-server arch
+    ./pxe-server demohost arch
     sleep 2
     # via osinfo-query os. guessing arch is closest to latest fedora.
     variant=fedora22
 else
-    ./pxe-server fai
+    ./pxe-server 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.
@@ -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
-        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
 
@@ -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 \
-  ${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
@@ -128,11 +130,11 @@ if [[ $SSH_CLIENT ]]; then
 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 pxe-server :
+e pxe-server
 if is_arch_revm; then
     ./arch-init-remote $name
 fi