fixes plus readme updates
[automated-distro-installer] / fai-revm
index f7e45c9f97b960fa0af105fb9c4378f8c52c1f89..4b3d0d01501f3741c0e17e96cdf84b30e5a6792d 100755 (executable)
--- a/fai-revm
+++ b/fai-revm
@@ -33,9 +33,11 @@ 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 boot after install is complete
+-d         Don't do dhcp setup for when we aren't on Ian's home network.
 -n         Create new qcow2(s) for vm. Good for testing partitioning
            script, to ensure a blank disk.
+-p         Use pxe instead of autodiscover iso with fai.
+-r         Do not boot after install is complete
 -h|--help  Print help and exit.
 
 Note: Uses GNU getopt options parsing style
@@ -45,11 +47,14 @@ EOF
 
 orig_args=("$@")
 new_disk=false
-temp=$(getopt -l help hnr "$@") || usage 1
+pxe=false
+temp=$(getopt -l help dnprh "$@") || usage 1
 eval set -- "$temp"
 while true; do
     case $1 in
+        -d) dhcp_arg=-d; shift ;;
         -n) new_disk=true; shift ;;
+        -p) pxe=true; shift ;;
         -r) reboot_arg=--noreboot; shift ;;
         -h|--help) usage ;;
         --) shift; break ;;
@@ -57,6 +62,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
@@ -77,19 +83,27 @@ is_arch_revm() {
 }
 
 cleanup() {
-    ./pxe-server
+    echo "doing cleanup"
+    e ./pxe-server $dhcp_arg
     ./faiserver-disable
 }
 _errcatch_cleanup=cleanup
 
+boot_arg=--pxe
 if is_arch_revm; then
-    e ./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
-    e ./pxe-server demohost fai
+  if $pxe; then
+    e ./pxe-server $dhcp_arg demohost fai
     sleep 2
+    else
+      boot_arg="--cdrom /a/bin/fai-basefiles/autodiscover.iso"
+     e fai-redep
+     e myfai-chboot default
+fi
     # 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.
     variant=ubuntu14.04
@@ -116,15 +130,24 @@ if [[ $SSH_CLIENT ]]; then
     console_arg=--noautoconsole
 fi
 
+# docker makes forward default to drop, which blocks the vm pxe on flidas. easiest solution:
+s iptables -P FORWARD ACCEPT
+
 # --cpu host: this causes mkfs.btrfs to fail with a stack trace which began
 # something like:
 # init_module+0x108/0x1000 [raid6_pq]
 #
 # uniq is to stop gtk-warning spam
-e s virt-install --os-variant $variant  -n $name --pxe -r 2048 --vcpus 1 \
+# 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 $reboot_arg \
+#   --graphics spice,listen=0.0.0.0 $console_arg |& grep -v '^ *$' | uniq &
+
+
+e s virt-install --os-variant $variant  -n $name $boot_arg -r 2048 --vcpus 1 \
   ${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
     fg
 fi