Open Virtualization Format (OVF and OVA)

OVF is an open standard, specified by the Distributed Management Task Force (DMTF), for packaging and distributing a virtual appliance consisting of one or more virtual machines (VMs).

An OVF Package contains metadata and file elements that describe VMs, plus additional information important to the deployment and operation of the applications in the OVF package. Its file name extension is .ovf.

An Open Virtual Appliance (OVA) is an OVF Package in a single file archive with the .ova extension.

In XenServer environments where Role-Based Access Control (RBAC) is implemented, only users with the RBAC role of Pool Admin or Pool Operator can import OVF and OVA packages. To export OVF and OVA packages, you must have the Pool Admin, Pool Operator, VM Power Admin, or VM Admin role. For more information about RBAC roles, see RBAC overview.

What’s in an OVF package?

An OVF Package always includes a descriptor file (*.ovf) and might also include several other files.

File type Description
Descriptor The descriptor specifies the virtual hardware requirements of the service. This descriptor can also include information such as virtual disks descriptions, the service itself, guest OSes, a EULA, instructions to start and stop appliance VMs, and instructions to install the service. The descriptor file name extension is .ovf.
Manifest The manifest is an SHA-1 digest of every file in the package, allowing the package contents to be verified by detecting any corruption. The manifest file name extension is .mf.
Signature The signature is the digest of the manifest signed with the public key from the X.509 certificate included in the package. It allows the package author to be verified. The signature file name extension is .cert.
Virtual disks OVF does not specify a disk image format. An OVF package includes files comprising virtual disks in the format defined by the virtualization product that exported the virtual disks. XenServer produces OVF packages with disk images in Dynamic VHD format; VMware products and Virtual Box produce OVF packages with virtual disks in Stream-Optimized VMDK format.

An OVA package is a single archive file, in the Tape Archive (tar) format, containing the files that comprise an OVF Package.

Which format do I use?

OVF packages contain a series of uncompressed files that make it easier to access individual disk images in the file. OVA packages are just one large file. While you can compress this file, it doesn’t have the flexibility of a series of files like OVF.

OVA is better for specific applications where it is beneficial to have a single file, making the package easier to handle, such as creating packages for Web downloads. Exporting and importing OVA packages takes longer than OVF.

You cannot use OVA/OVF to export virtual machines with an attached vTPM.

Using Operating System Fixup

Using OVF as a method of packaging does not guarantee cross-hypervisor compatibility of the virtual machines contained in the package. An OVF package created on one hypervisor might not automatically work on a different hypervisor. This problem happens for various reasons, including: different interpretations of the OVF specification, guest operating system devices, drivers, and implementations inherent to a hypervisor.

XenCenter includes an advanced hypervisor interoperability feature, Operating System Fixup, which aims to ensure a basic level of interoperability for OVF packages that are imported to a XenServer server. Run Operating System Fixup on imported VMs that were created on other hypervisors to ensure they boot correctly on a XenServer server.

For more information about the Operating System Fixup feature, see About VM Import and Export.

More information about OVF

For more information about OVF, see the following documents on the DMTF website:

Open Virtualization Format Specification

Open Virtualization Format (OVF and OVA)