Provision Ganeti VMs with cloud images
Currently this provisioner uses the cloud-localds that is provided by Ubuntu version 0.27 of the cloud-utils package. This utility requires genisoimage to work.
This has only been tested using a KVM hypervisor, YMMV with other hypervisors.
This file is a newline delimited list of the cloud images that you support.
Site specific information should be set here.
- cloud_images The directory where your cloud image files will live.
- root_ssh_authorized_keys The ssh authorized_keys that will allow sshing into the vms as root
Should contain a raw type (not qcow) cloud image for each os variant you support. Files should be named:
${OS_VARIANT}.img.raw
Information on how to convert a cloud image to a raw disk image can be found in ubuntu's docs.
This provisioner works using NoCloud so each VM you create should at least initially have two disks, one for the root file-system and one for the NoCloud ISO image. Since Ganeti seems to not be able to allocate disks smaller than one 1GB and the NoCloud ISO is under 1MB it is recommended that you remove the second disk after provisioning the VM if disk space is a concern for you.
At least with the Ubuntu cloud images, the system will resize the root partition to fill the whole disk that you give the VM. So allocating a disk 0 of size 10GB will give you a 10GB root file-system.
Your disk 0 should be at least the same size as the cloud image for the variant you are loading. In the future this will be enforced by the provisioner. If your disk 0 is smaller than your cloud image your VM might fail to boot, or worse: fail unexpectedly during use.
gnt-instance add --disk-template plain --disk 0:size=15G --disk 1:size=1G --hypervisor-parameters kvm:boot_order=disk --os-type cloud-init+ubuntu-trusty example.com