add rescue, fix default pxe, ubuntu locale
[automated-distro-installer] / fai-revm
index fcb9c073a58e0c74ba2702f490f0d82f4a53670e..68840bd9d962c1c3cac9570464796f8a4f64dc3a 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,15 +44,13 @@ EOF
     exit $1
 }
 
     exit $1
 }
 
-
 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 ;;
         -h|--help) usage ;;
         --) shift; break ;;
         *) echo "$0: Internal error!" ; exit 1 ;;
@@ -79,14 +78,17 @@ is_arch_revm() {
     [[ ${0##*/} == arch-revm ]]
 }
 
     [[ ${0##*/} == arch-revm ]]
 }
 
-cleanup() { ./pxe-server :; }
+cleanup() {
+    ./pxe-server
+    ./faiserver-disable
+}
 if is_arch_revm; then
 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
     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.
     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.
@@ -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,11 +130,11 @@ 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() { :; }
-e pxe-server :
+e pxe-server
 if is_arch_revm; then
     ./arch-init-remote $name
 fi
 if is_arch_revm; then
     ./arch-init-remote $name
 fi