Open Virtualization Format (OVF)
What is Open Virtualization Format (OVF)?
Open Virtualization Format (OVF) is an open source standard for packaging and distributing software applications and services for virtual machines (VMs).
As the adoption of virtual infrastructure increases, there is a greater need for an open, standard, portable and platform-independent metadata format to distribute virtual systems onto and between virtualization platforms. OVF provides such a packaging and distribution format to facilitate the mobility of VMs.
The standard also describes multiple VMs with their relationships. These VMs can be wrapped up in a single virtual appliance file to enable broader distribution.
Open Virtualization Format explained
OVF is not a specification describing a virtual disk. Rather, it is a standard representation of VM metadata. This VM metadata includes the following:
- name
- configured memory
- CPU
- storage settings
- network
In addition to describing the above attributes of virtual hardware, OVF also allows virtual appliance vendors to add comments about the VM and other characteristics, such as an end-user license agreement (EULA), boot parameters and minimum requirements. They can also encrypt, compress and digitally sign their content.
OVF, which is specified by the Distributed Management Task Force (DMTF) and published by the International Organization for Standardization (ISO) as ISO 1720, is independent of any particular processor or hypervisor architecture. It leverages DMTF's Common Information Model (CIM) to allow management software to understand and map resource properties by using the OVF open standard.
As a packaging format for virtual appliances, OVF enables the mobility of virtual machines across multiple platforms by facilitating the distribution of enterprise software in a flexible, secure and efficient manner.
Consequently, both vendors and users can follow OVF specifications to deploy a VM on any virtualization platform. They can take full advantage of virtualization's benefits, including the following:
- enhanced flexibility
- portability
- verification
- version control
- signing
- better licensing terms
Features of Open Virtualization Format
Key features of OVF are as follows:
Validation support. OVF supports the validation of every VM and the complete package.
Supports single and multiple VM configurations. OVF supports both single VM packages and complex multi-tier package services involving more than one interdependent VM.
Content verification support. Depending on the industry-standard public key infrastructure (PKI), OVF enables integrity checking and content verification.
Licensing support. OVF supports management and software licensing strategies.
Platform-independent. OVF was designed to be platform-independent, whether it's a guest OS, host platform or virtualization platform.
Extensible. OVF can support new technological advancements in virtualization and virtual appliances.
Portable packaging. OVF allows vendors to add platform-specific enhancements to their appliances and software.
Open Virtualization Format package
An OVF package is a group of files required to import the VM. These files are generally found in the same folder and they can be compressed, digitally signed, encrypted and archived. The package consists of metadata and file elements that describe the VMs, as well as additional information required to deploy and operate the applications in the package.
The metadata or descriptor file is one of the components of the OVF file. This extensible markup language (XML) document with the extension of .ovf includes details such as the location of virtual disks associated with the VMs, plus information about managing the VMs during import.
In addition, the OVF package typically includes the following files:
- The manifest file with a .mf extension that references the OVF files and their checksum.
- A certificate file with the .cert extension if a user chooses to digitally sign the OVF file.
- Files comprising virtual disks in the format specified by the virtualization product that exported the virtual disks.
An OVF package can be used by multiple stakeholders, including the following:
- An independent software vendor (ISV) publishing a software solution.
- A data center operator aiming to transport a software solution between data centers.
- A customer trying to archive software.
In general, any user or use case that can benefit from a standardized package for a software solution can use the OVF standard.
Distribution of Open Virtualization Format packages
OVF packages can be distributed either as a single file or as a set of files.
Distribution as a single file
The OVF package is stored as a single file in the tar format. In OVF tar files, duplication is not allowed within the archive. The files appear in the following order inside the archive:
- .ovf descriptor
- .mf manifest (optional)
- .cert certificate (optional)
To find a file, a tar extraction tool scans the whole archive, even if the requested files are found in the beginning.
Distribution as a set of files
The OVF package can also be available as a set of files. This is common for applications involving a standard web browser.
The DMTF provides this example of an OVF package as a set of files:
http://xyzwebsite/virtualappliances/package.ovf
http://xyzwebsite/virtualappliances/virtualdisk1.vmdk
http://xyzwebsite/virtualappliances/virtualdisk2.vmdk
http://xyzwebsite/virtualappliances/additionalresource.iso
Open Virtual Appliance in an OVF File
An Open Virtual Appliance (OVA) is an OVF package in a single file archive. Its file extension is .ova. An OVA package, which is in the tar format, contains the files comprising an OVF package.
The OVA package is one large file that doesn't have the flexibility of the OVF package, which is a series of uncompressed files. This is because users can access the individual disk images in the files in the OVF package -- which they can't do with the OVA package. Another drawback of OVA packages is that it takes longer to export and import them.
That said, OVA packages do have their uses. They are particularly suitable for applications where the presence of just one file can be beneficial since the single file package is easier to handle. One example is when creating packages for web downloads.
See also: how an OVF file works with VMware Workstation and breaking down VM compatibility and virtualization file formats.