#!/bin/bash set -e name=$1 size=20G TMPDIR="$(mktemp -d "/tmp/${0##*/}.XXXXXX")" trap "rm -rf '${TMPDIR}'" EXIT TERM cd "$TMPDIR" if [[ ! -f /srv/http/vms/network/$name ]]; then echo "Missing vm network definition /srv/http/vms/network/$name" >&2 exit 1 fi cat <vm.xml $name 2097152 2097152 4 hvm destroy restart restart /usr/sbin/qemu-system-x86_64 EOF virsh vol-create-as default ${name}.img $size --format qcow2 virsh define vm.xml vmmac=$(virsh domiflist $name | grep -oE "[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}") echo "$name" > /srv/http/vms/hostnames/"$vmmac" virsh start $name