#!/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}"