How to create a VM with a prepopulated volume
I want to create a VM with a pre-populated volume attached at boot time.
To achieve this I've created a snapshot of the volume I want cloned for each VM and ran,
nova boot --image myimage --flavor myflavor --block-device-mapping vdb=861fd59d-cf85-4fcf-a62b-936a7f2ce628:snap::1 myvm
where 861fd59d-cf85-4fcf-a62b-936a7f2ce628 is the id of the snapshot.
Under the covers this uses the os-volumes_boot API.
Technically this works but the problem is speed. The volume being cloned is 60Gb. I'm using LVM and the process of cloning the snapshot is taking 30 minutes. I've tested this same process with a 1GB volume and the time taken to create the volume is negligible.
Am I going about this the right way or is there a better way to achieve what I want?