Using Snappy OVA Images when you don’t have a Cloud Fabric

The Snappy OVA images are nothing more than the Ubuntu Snappy Cloud images that have been wrapped up in an OVA container. Snappy Cloud Images expect to be running within a Cloud environment where a meta-data source is provided.

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

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Newsletter signup

Select topics you're
interested in

In submitting this form, I confirm that I have read and agree to Canonical's Privacy Notice and Privacy Policy.

Related posts

How to run ECS Anywhere workloads using Ubuntu on any infrastructure

Using Ubuntu for your ECS clusters on-prem or elsewhere will allow you to run your ECS Anywhere workloads with optimal performance everywhere you need it.

UbuntuOnAir

We (the Ubuntu Community team) are delighted to invite you to the UbuntuOnAir YouTube and Twitch channels! These particular airwaves will hold...

Ubuntu supports Oracle Cloud Infrastructure Ampere A1 Compute

Together with Oracle, Canonical announces an optimised Ubuntu image for the launch of Oracle Cloud Infrastructure (OCI) Ampere A1 Compute.