I want to run an Ubuntu cloud image on on VMWare.
I just need to know how to set the OVF properties in a way that VMWare understands in order to pass parameters to cloud-init.
What I've done
Install VMWare Player 4.0.4, using the vmware workstation 8.0.2 / player 4.0.2 fix for linux 3.2+ patch to get around the compilation failure for virtual ethernet module.
Download precise-server-cloudimg-amd64.ovf, and also the precise-server-cloudimg-amd64.img file (compressed QCOW2 format, 220MB)
Convert the image from QCOW2 to VMDK:
qemu-img convert -O vmdk precise-server-cloudimg-amd64-disk1.img disk.vmdk
Edit the OVF <File>
element to change the ovf:href and ovf:size to match the output of qemu-img:
<File ovf:href="disk.vmdk" ovf:id="file1" ovf:size="689569792"/>
Edit the <Disk>
element to set sparse VMDK format and desired capacity in bytes (8GB here):
<Disk ovf:capacity="8589934592" ovf:diskId="vmdisk1" ovf:fileRef="file1"
ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#sparse"/>
Remove all the <Property>
elements because vmplayer does not recognise them.
Configure the VirtualHardwareSection section to set CPU and RAM to taste.
Either run the OVF in vmplayer, or convert to vmx and run the vmx:
ovftools custom.ovf mymachine.vmx
vmplayer mymachine.vmx
Unfortunately I can't log in as "ubuntu" at the prompt because the OVF properties haven't been provided to cloud-init. How should I do this?