bug fix
[automated-distro-installer] / faiserver-revm
index f546accd3238df6166c94e5ee83d2150660ef490..65073340a30a48f7b3066b5c5c0a2bb508e6fe08 100755 (executable)
@@ -1,12 +1,42 @@
-#!/bin/bash -l
-set -x
-
-set -eE -o pipefail
-trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
-
-cd $(dirname $(readlink -f "$BASH_SOURCE"))
-
-./debian-pxe-preseed -i 192.168.1.1 -u ian -g vda
+#!/bin/bash
+# This file is part of Ian Kelling's automated-distro-installer
+# Copyright (C) 2024 Ian Kelling
+
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+set -e; . /usr/local/lib/bash-bear; set +e
+
+usage() {
+    cat <<EOF
+usage: this-script [-h|--help]
+Create a vm which is a fai server.
+
+This assumes you've set the dhcp server to make 52:54:00:56:09:f9 be
+faiserver. That mac is a randomly generated one in the libvirt range.
+
+WARNING: has hardcoded IP and name for for my local lan
+EOF
+    exit $1
+}
+case $1 in
+    -h|--help) usage 0 ;;
+    *) usage 1 ;;
+esac
+
+err-cleanup() { pxe-server :; }
+./debian-pxe-preseed -i 10.0.0.1 -u iank -g vda
 
 name=faiserver
 s virshrm $name ||:
@@ -14,12 +44,19 @@ s virshrm $name ||:
 f=/var/lib/libvirt/images/${name}
 s qemu-img create -o preallocation=metadata -f qcow2 $f 30G
 
+# uniq because virt-viewer spams me with pointless gtk warnings
 s virt-install --os-variant debian8 --cpu host -n $name --pxe -r 1024 --vcpus 1 \
-  --disk $f -w bridge=br0,mac=52:54:00:56:09:f9 &
+  --disk $f -w bridge=br0,mac=52:54:00:56:09:f9 |& sed "/^ *$/d" | uniq &
 
 sleep $((60*6)) # takes like 10x as long as a fai install!
-while ! scp fai-setup root@faiserver:; do
+
+opts="-oStrictHostKeyChecking=false -oUserKnownHostsFile=/dev/null"
+while ! scp $opts faiserver-setup root@faiserver.b8.nz:; do
     sleep 5
 done
 
-ssh root@faiserver ./faiserver-setup
+# note: with a vm, pxe boot is turned off in the bios after it's first reboot.
+err-cleanup() { :; }
+./pxe-server
+
+ssh $opts root@faiserver.b8.nz ./faiserver-setup