An introduction to OVA

To move virtual machines between platforms it is common to create an OVA. An OVA (open virtualization appliance) is a compressed package that contains a VM disk and its descriptor in OVF (open virtualization format). As of version 6.5, vSphere no longer provides an easy way for users to export OVA files.

When you connect with the vSphere 6.7 Web Client, a VM has an OVF export option but there is no OVA option.

If you would like to directly export a VM as an OVA file, you can use OVF tool on the command line. To export many VMs, you could use the commands in a script. Or if you are working with a large VM, you could export an OVF and then compress it to create the OVA.

Download OVF tool

When you go to the VMware website downloads menu and select OVF tool, the Windows version displays for you to download.

To use another version (for example, Mac or Linux), go to the main Downloads page and search for “ovf tool”.

Install OVF tool

The Windows and Mac versions are standard installer packages.

The Linux version is a bundle package, and you can easily install it from the command line by executing the bundle with a shell command. Replace ovftool.bundle with the name of the bundle file.

sh ovftool.bundle

Discover the VM on vCenter

To work with OVF tool, you will need your vCenter URL and credentials, and you will also need the path to your VM.

If you don’t know the VM path, you can discover it. For example, enter the vCenter URL and credentials.

ovftool vi://administrator@vsphere.local:password@nsxqa-vc.example.com
 

This is not a VM, so the tool will return an error message for the “wrong kind of object”, for example, a folder or a datacenter.

It will suggest possible completions, which are the objects under the path you have entered. Keep adding completions until you get to the “vm” folder and select a VM.

For example, a VM could have this path.

vi://administrator@vsphere.local:password@nsxqa-vc.example.com/DcNSX-qa/vm/windowstest
 

Save time and money with Abiquo by reducing management complexity, offer different network SLAs to your customers and improve usability.

Display the VM OVF details

With OVF tool, the default vi command displays a friendly version of the OVF details.

ovftool vi://administrator@vsphere.local:password@nsxqa-vc.example.com/DcNSX-qa/vm/windowstest

In this example, the user entered the administrator and password interactively

user@user:~/Downloads $ ovftool vi://nsxqa-vc.example.com/DcNSX-qa/vm/windowstest
Enter login information for source vi://nsxqa-vc.example.com/
Username: administrator@vsphere.local
Password: **********
OVF version:   1.0
VirtualApp:    false
Name:          windowstest
Download Size:  Unknown
Deployment Sizes:
  Flat disks:   20.00 MB
  Sparse disks: Unknown
Networks:
  Name:        default_private_network_57
  Description: The default_private_network_57 network
Virtual Machines:
  Name:               windowstest
  Operating System:   windows9server64guest
  Virtual Hardware:
    Families:         vmx-14
    Number of CPUs:   1
    Cores per socket: 1
    Memory:           16.00 MB
    Disks:
      Index:          0
      Instance ID:    11
      Capacity:       20.00 MB
      Disk Types:     SCSI-lsilogicsas
    NICs:
      Adapter Type:   E1000e
      Connection:     default_private_network_57

Download an OVA file directly

To download the OVA file, enter “vi://” with the VM path and with a local file with an “.ova” suffix at the end.

ovftool vi://administrator@vsphere.local:password@nsxqa-vc.example.com/DcNSX-qa/vm/windowstest ./windowstest.ova
 

You should now be able to upload the OVA file into a VM template in the cloud platform’s catalog so users can create VMs from the template and deploy them. 

Or export an OVF folder and convert it to an OVA file

An alternative method is to export the OVF package and convert it to an OVA file. This method is recommended by VMware and it may provide better performance for large VMs.

First export the OVF package to your local file system and ensure it is in a separate folder.

Then convert it to an OVA file using OVF tool.

For example:

cd windowstest-folder
ovftool windowstest.ovf windowstest.ova
 

Troubleshooting

On Linux, remember to escape any special characters in your password that may be interpreted by the shell.

After you upload the VM template, remember to select the option to generate conversions to other hypervisor formats as required.

References

For more details, see the VMware release notes for vSphere 6.5 (https://docs.vmware.com/en/VMware-vSphere/6.5/rn/vsphere-esxi-vcenter-server-65-release-notes.html) in the section with the title: “vSphere Web Client does not support exporting virtual machines or vApps as OVA templates”.