add rescue, fix default pxe, ubuntu locale
[automated-distro-installer] / faiserver-revm
1 #!/bin/bash -l
2 set -x
3
4 set -eE -o pipefail
5 cleanup() { :; }
6 trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR
7
8 x="$(readlink -f "$BASH_SOURCE")"; cd ${x%/*}
9
10 usage() {
11 cat <<EOF
12 usage: ${0##*/} [-h|--help]
13 Create a vm which is a fai server.
14
15 This assumes you've set the dhcp server to make 52:54:00:56:09:f9 be
16 faiserver. That mac is a randomly generated one in the libvirt range.
17 EOF
18 exit $1
19 }
20 case $1 in
21 -h|--help) usage ;;
22 esac
23
24 cleanup() { pxe-server :; }
25 ./debian-pxe-preseed -i 192.168.1.1 -u ian -g vda
26
27 name=faiserver
28 s virshrm $name ||:
29
30 f=/var/lib/libvirt/images/${name}
31 s qemu-img create -o preallocation=metadata -f qcow2 $f 30G
32
33 # uniq because virt-viewer spams me with pointless gtk warnings
34 s virt-install --os-variant debian8 --cpu host -n $name --pxe -r 1024 --vcpus 1 \
35 --disk $f -w bridge=br0,mac=52:54:00:56:09:f9 |& sed "/^ *$/d" | uniq &
36
37 sleep $((60*6)) # takes like 10x as long as a fai install!
38
39 opts="-oStrictHostKeyChecking=false -oUserKnownHostsFile=/dev/null"
40 while ! scp $opts faiserver-setup root@faiserver:; do
41 sleep 5
42 done
43
44 # note: with a vm, pxe boot is turned off in the bios after it's first reboot.
45 cleanup() { :; }
46 ./pxe-server
47
48 ssh $opts root@faiserver ./faiserver-setup