I recently needed to convert OVA to OVF, as I was having problems deploying a virtual appliance from the OVA it was packaged as. I kept receiving an Operation Timed Out error, so thought I would attempt to convert it to OVF then try again. Before going through the process, it is probably worth providing some background information.
What is a Virtual Appliance?
A virtual appliance is a pre-configured virtual machine image, ready to run on a hypervisor such as VMware’s ESXi; Typically a virtual appliance includes an operating system and some configuration all packed up into a file that can be distributed and imported easily. Virtual appliances are intended to eliminate the installation, configuration and maintenance costs associated with running complex stacks of software. Often virtual appliances can be downloaded from virtual appliance marketplaces.
Virtual appliances tend to be made available in a couple of main formats. The file format most commonly used is the Open Virtualization Format (OVF). There is also the Open Virtual Appliance (OVA) format. The .ova file format is interchangeable with the .ovf format, so it is possible to convert from one to the other.
What is OVA and What is OVF?
Open Virtualization Format (OVF) is an open standard for packaging and distributing virtual appliances. The standard describes an “open, secure, portable, efficient and extensible format for the packaging and distribution of software to be run in virtual machines”. The OVF standard is not tied to any particular hypervisor, as such you may have seen OVFs for use with vSphere and Hyper-V etc.
An OVA file is saved in the Open Virtualization Format (OVF). OVA files are just an OVF directory saved in a single archive using tar packaging in order to make it easier to distribute.
Deploying an OVF or OVA template into VMware vCenter is similar to deploying a virtual machine from a template – you will be presented with a deployment wizard, which will ask you to populate some configuration settings such as IP address, hostname and DNS configuration.
VMware OVF Tool
The VMware OVF Tool is a command-line utility that can import and export Open Virtualization Format (OVF) packages and covert between .ovf and .ova. You can download the tool here, and view the user guide, which contains detailed instruction on it’s use.
Once it has been downloaded, run the Windows installer.
Convert OVA to OVF using the VMware OVF Tool
Ok, so thats’s the background over with! So how do we use the OVF tool to convert .ova to .ovf? Start by opening a command prompt and head to the OVF tool’s installation directory, which on my system could be found at C:\Program Files\VMware\VMware OVF Tool .
The executable we need to run is ovftool.exe. We are aiming to convert .ova to .ovf so we need to also feed it the location of the source OVA file, and the destination path where we want the new OVF file to be created. My OVA file is called network.ova and I wish to output the OVF file to c:\temp\output. So to do the conversion, I can run the following:
ovftool.exe c:\temp\network.ova c:\temp\output\
The command will now run, and will give output on the actions it’s performing. Once complete, when you head over to the specified destination directory you should see a bunch of files listed, which in my case included .vmdk files and a network.ovf file, which can be used to deploy the virtual appliance using ESXi/vCenter.
And that’s it! The VMware OVF Tool makes it easy to convert OVA to OVF.