#!/bin/bash

images=/var/lib/libvirt/images
init_dir=/root/vms-init

disk_size=20G
memory=2048
cpu=2

vm_name=$1
os_variant=$2

if [ ! -f ${images}/bases/${os_variant}.img ]; then
	echo "OS inconnu, liste des distributions supportées :"
	for b in ${images}/bases/*; do
		echo "  * `basename ${b} .img`"
	done
	exit 1
fi

if [ -e ${images}/storage/${vm_name}.img ]; then
	echo "VM déjà existante"
	exit 1
fi
	
qemu-img create -f qcow2 -F qcow2 -b ${images}/bases/${os_variant}.img ${images}/storage/${vm_name}.img ${disk_size}

cat > ${init_dir}/state/meta-data <<EOF
instance-id: ${vm_name}
local-hostname: ${vm_name}.vm.ppsfleet.navy
EOF

genisoimage -output ${images}/seeds/${vm_name}.iso -volid cidata -joliet -rock ${init_dir}/state/user-data ${init_dir}/state/meta-data

virt-install --name ${vm_name} --memory ${memory} --vcpu ${cpu} --import --disk path=${images}/storage/${vm_name}.img,format=qcow2 --disk path=${images}/seeds/${vm_name}.iso,device=cdrom --os-variant ${os_variant} --network network=vm-net --noautoconsole

echo "VM ${vm_name} créée, une fois démarrée, pour se connecter utiliser la commande suivante :"
echo "    ssh -i /root/.ssh/vm roger@${vm_name}"