Canonical
on 5 May 2015
Using Snappy OVA Images when you don’t have a Cloud Fabric
But since OVA is a virtualization appliance format, users have expressed some confusion as how they can use it on Virtualbox or VMware Fusion/Workstation.
Option 1: Create a Cloud-Config ISO/VMDK
In order to use the OVA images you need to prepare a Cloud-Config ISO. On Ubuntu the steps are:
# Create the cloud-config
$ cat >> user-data <<"EOF
#cloud-config
snappy:
ssh_enabled: true
password: passw0rd
chpasswd: { expire: False }
ssh_pwauth: True
EOF
# Create the meta-data
$ cat >> meta-data << EOM
instance-id: $(uuidgen)
local-hostname: ubuntu-snappy
EOF
# To make the cloud-config big enough...Otherwise VMware
# won't respect the VMDK
$ dd if=/dev/zero of=bloat_file bs=1M count=10
# Generate the ISO image
$ genisoimage \
-output seed.iso \
-volid cidata \
-joliet -rock \
user-data meta-data bloat_file
# Convert the ISO to a VMDK (if you want)
$ qemu-img convert -O vmdk seed.iso seed.vmdk
After importing the OVA image using a VMware, Citrix or Virtualbox platform, attach the VMDK or ISO image. Cloud-init will find the CDROM and read the values. At that point you can login as “ubuntu” with the password you have set.
Option 2: Cheat with the Vagrant images
In addition to the OVA images, we publish Vagrant Images. These images are targeted at the VirtualBox/Vagrant community but are easily re-purposed by the mischevious.
Technically speaking, the Vagrant images are nothing more than an OVA that have been pre-configured using insecure and well-known SSH keys with an attached cloud-config. In fact, the Vagrant Snappy images use an attached “cloud-config” drive created similiar to the steps in Option 1.
These images are _NOT_ production quality. If you don’t care about security and will only be using this on localhost network then you can simply:
Fetch the most current image:, i.e.
$ wget -O cheating.ova http://goo.gl/DO7a9W
Import "cheating.ova" using your Virtualization platform
Boot up the image
Login as "ubuntu" with a password of "ubuntu"
About the author
Ben is the lead for the technical delivery of Ubuntu Server to Amazon AWS, Microsoft Azure, Joyent, VMware, Google GCE, and other Cloud platforms.
This article was first published on Ben Howard’s blog