#!/bin/bash -l # Usage: faiserver-revm # 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. set -x set -eE -o pipefail cleanup() { :; } trap 'cleanup; echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR cd "${BASH_SOURCE%/*}" cleanup() { pxe-server :; } ./debian-pxe-preseed -i 192.168.1.1 -u ian -g vda name=faiserver 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 |& sed "/^ *$/d" | uniq & sleep $((60*6)) # takes like 10x as long as a fai install! opts="-oStrictHostKeyChecking=false -oUserKnownHostsFile=/dev/null" while ! scp $opts faiserver-setup root@faiserver:; do sleep 5 done # note: with a vm, pxe boot is turned off in the bios after it's first reboot. cleanup() { :; } ./pxe-server ssh $opts root@faiserver ./faiserver-setup