Skip to content

NCD – OVF/OVA File Screening


Navisite Cloud Director (NCD) allows you to upload and download vApps between your site and NCD using VMware's OVF Tool.

Individual VMs, vApps, and VM/vApp templates can be uploaded to NCD as Open Virtualization Format (OVF) packages (.ovf) or Open Virtual Appliance (OVA) files (.ova).

vApps and vApp templates can be downloaded from NCD in either .ovf or .ova format. However, individual VMs and VM templates cannot be downloaded from NCD.

This article details methods for pre-screening OVF files to ensure that the resources you are attempting to upload to NCD are compatible with VMware vCloud Director. This article assumes that OVF files to be uploaded to NCD are created from a VMware source.

About OVF Files

OVF is an open standard defining the format for packaging and distributing virtual appliances (i.e., software to be run in virtual machines). The OVF standard is not specific to VMware, nor is it directly associated with any particular hypervisor or processor architecture.

The unit of packaging and distribution is the OVF package, in the form of an xml-formatted .ovf file, which may contain one or more virtual systems. Each virtual system can be deployed to a virtual machine. An OVF package structure consists of:
  • a descriptor file

  • an optional manifest and certificate files

  • optional disk images (VMware .vmdk, or other supported disk image file)

  • optional resource files (such as ISOs)
When a vApp is converted to OVF format, the vApp is converted into a minimum of three files: a .ovf template, a .vmdk or virtual machine disk, and a .mf or manifest file. The OVF archive may contain multiple .vmdk files depending on the number of disks contained in the converted vApp. The manifest file ensures the integrity of the OVF package by including a sha1 checksum value for each file contained in the OVF package, excluding the manifest file itself. The OVF file provides a definition for the virtual resources being transferred.

In addition, the OVF file compresses the contents of the original vApp.

About OVA Files

An OVA is a single file distribution of the OVF file package, stored in the TAR format.

An OVA must be opened into the OVF package format. An OVA-formatted OVF package can be converted back to OVF format by using VMware's OVF Tool as follows:

ovftool package.ova package.ovf

About VMware’s OVF Tool

VMWare's OVF Tool resides on a local PC, and can be used to transfer OVF and OVA files to/from NCD. The OVF Tool must be downloaded from vmware.com, through the use of a vmware.com member login, and installed on the PC to or from which files are to be transferred. See https://www.vmware.com/support/developer/ovf/ for more information on downloading and installing the OVF Tool in your environment.

Important: Navisite recommends a size limit of 75 GB for OVF/OVA file transfers using the OVF Tool.

The size of the file transfer has a direct inverse correlation to the latency of the datacenter to which the file is being transferred. A lower latency allows larger transfers. If you experience errors during transfer using the OVF Tool, and the time of the operation exceeds 24 hours, consider using VMware Web Tools, or contact support for an alternate method of file transfer.

Examining an OVF File

An example of a typical OVF file can be found at the end of this article. This article focuses on the sections of the OVF defining the hardware configuration of the VMs included within the OVF definition, in order to ensure that the VMs defined in the OVF are compatible with NCD.

OVF File Summary

A summary of an OVF file's contents can be obtained by performing an OVF file probe operation using the OVF Tool. The command and resulting output are as follows:

OVF Tool Command

ovftool [Example_OVF_File_Name].ovf
OR
ovftool [Example_OVA_File_Name].ova

Example Output

OVF version: 1.0 VirtualApp: true Name: OvaOvfOrtTestingGrounds
Download Size: 6.52 GB
Deployment Sizes: Flat disks: 50.00 GB Sparse disks: 14.76 GB
Networks: Name: SantaClara01 Default vDC Net Fence Mode: bridged
Virtual Machines: Name: WinServe08ER264_test Operating System: windows7server64guest Virtual Hardware: Families: vmx-10 Number of CPUs: 6 Cores per socket: 3 Memory: 4.00 GB
Disks: Index: 0 Instance ID: 2000 Capacity: 50.00 GB Disk Types: SCSI-lsilogic
NICs: Adapter Type: E1000 Connection: SantaClara01 Default vDC Net

OVF File Contents

The ovf:system portion of an OVF file defines the virtual hardware family and VM hardware characteristics, contained within the <ovf:System> tag.

The system definition is followed in the OVF file by a series of <ovf:Item> sections, each of which defines a hardware component associated with the VM.

ovf:System
The following is an example of a typical ovf:System configuration item:

<ovf:System> <vssd:ElementName>Virtual Hardware Family</vssd:ElementName> <vssd:InstanceID>0</vssd:InstanceID> <vssd:VirtualSystemIdentifier>WinServe08ER264_TEST</vssd:VirtualSystemIdentifier> <vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType> </ovf:System>

For NCD compatibility, it is recommended that the highlighted <vssd:VirtualSystemType> value within the ovf:System configuration item be set to either vmx-09 or vmx-10, though it may also be set to vmx-04, vmx-07, or vmx-08.

Network Adapter <ovf:item>
The following is an example of a typical ovf:item configuration for a VM Network Interface Adapter (or vNIC):

<ovf:Item> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation> <rasd:Connection vcloud:ipAddress="10.10.3.5" vcloud:ipAddressingMode="POOL" vcloud:primaryNetworkConnection="true">SantaClara Net</rasd:Connection> <rasd:Description>E1000 ethernet adapter</rasd:Description> <rasd:ElementName>Network adapter 0</rasd:ElementName> <rasd:InstanceID>1</rasd:InstanceID> <rasd:ResourceSubType>E1000</rasd:ResourceSubType> <rasd:ResourceType>10</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="32"/> <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true"/> </ovf:Item>

For NCD network adapter compatibility, it is recommended that the highlighted <rasd:ResourceSubType> value be set to either E1000 or VMXNET3.

Also note:
  • The VMXNET3 network adapter type requires that the host VM has a current version of VMware tools installed.


  • VMXNET3 is the recommended network adapter type for all Windows 2012 VMs in NCD.


  • The PCNet32 network adapter type results in a displayed NIC type of "vlance" in NCD and "Flexible" in vCloud Director.


  • Other network adapter types include: VMXNET, VMXNET2, PCNet32, and E1000E, but these adapter types are not recommended for use in NCD.

Disk Controller <ovf:item>
The following is an example of a typical ovf:item configuration for a VM Disk Controller:

<ovf:Item> <rasd:Address>0</rasd:Address> <rasd:Description>SCSI Controller</rasd:Description> <rasd:ElementName>SCSI Controller 0</rasd:ElementName> <rasd:InstanceID>2</rasd:InstanceID> <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType> <rasd:ResourceType>6</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="16"/> </ovf:Item>

For NCD VM disk controller compatibility, the highlighted <rasd:ResourceType> and <rasd:ResourceSubType> values are used together to define a disk controller type, and a more specific disk controller sub type.

The combinations of <rasd:ResourceType> and <rasd:ResourceSubType> values that are compatible with NCD are detailed in the following table:

Resource Type Resource Type Description Resource Sub Type Resource Sub Type Description
6 SCSI Controller lsilogic LSI Logical Parallel (SCSI)
6 SCSI Controller lsilogicsas LSI Logical SAS (SCSI)
6 SCSI Controller VirtualSCSI Paravirtual (SCSI)
5 IDE Controller N/A The sub type field should not be included in OVF for IDE Controllers

Other Items
An OVF file created from a VMware source may also contain any of the following items:
  • USB Controller

  • Serial Interface

  • Sound Card

  • Video Card

  • Virtual Machine Communication Interface (VMCI)
The above items are not applicable in an NCD environment, and are removed from the VM definition when the OVF file is imported into NCD.

These items can also be manually removed from the OVF file before uploading it to NCD, if desired.

Modifying OVF File Contents

There are two ways to modify an OVF file:
  • Altering the hardware configuration of any VMs contained in the OVF in their host environments, and then re-exporting the VMs to an OVF file before uploading it to NCD.

  • Manually editing the contents of the OVF file based on the guidance provided in this article.
The OVF format includes a manifest (.mf) file that is used to ensure the integrity of all the files included in the OVF package. If the OVF file is edited manually, either…
  • delete the manifest (.mf) file from the OVF file package to avoid the OVF Tool's checksum integrity checks associated with .mf files.

  • OR

  • recalculate the sha1 checksum of the OVF file, and then manually update the manifest file to add the newly calculated checksum.

Example OVF File


<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by VMware ovftool 4.1.0 (build-2459827), UTC time: 2016-06-06T18:07:13.706188Z-->
<ovf:Envelope vmw:buildId="build-2459827" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf"
xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=
"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_VirtualSystemSettingData.xsd
http://www.vmware.com/schema/ovf http://www.vmware.com/schema/ovf http://schemas.dmtf.org/ovf/envelope/1
http://schemas.dmtf.org/ovf/envelope/1/dsp8023_1.1.0.xsd http://www.vmware.com/vcloud/v1.5
http://172.24.5.4/api/v1.5/schema/master.xsd
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_ResourceAllocationSettingData.xsd"> <ovf:References> <ovf:File ovf:href="upside-disk1.vmdk" ovf:id="file-937ddc9d-6a9d- 4855-ac51-39d265926ec1-2000" ovf:size="7000527360"/> </ovf:References> <ovf:DiskSection> <ovf:Info>Virtual disk information</ovf:Info> <ovf:Disk ovf:capacity="50" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk-937ddc9d-6a9d-4855-ac51-39d265926ec1-2000" ovf:fileRef="file-937ddc9d-6a9d-4855-ac51-39d265926ec1-2000" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html #streamOptimized" ovf:populatedSize="15852765184"/> </ovf:DiskSection> <ovf:NetworkSection> <ovf:Info>The list of logical networks</ovf:Info> <ovf:Network ovf:name="SantaClara01 Default vDC Net"> <ovf:Description/> </ovf:Network> </ovf:NetworkSection> <vcloud:NetworkConfigSection ovf:required="false"> <ovf:Info>The configuration parameters for logical networks</ovf:Info> <vcloud:NetworkConfig networkName="SantaClara01 Default vDC Net"> <vcloud:Description/> <vcloud:Configuration> <vcloud:IpScopes> <vcloud:IpScope> <vcloud:IsInherited>true</vcloud:IsInherited> <vcloud:Gateway>10.10.3.1</vcloud:Gateway> <vcloud:Netmask>255.255.255.0</vcloud:Netmask> <vcloud:Dns1>8.8.8.8</vcloud:Dns1> <vcloud:Dns2>8.8.4.4</vcloud:Dns2> <vcloud:IsEnabled>true</vcloud:IsEnabled> <vcloud:IpRanges> <vcloud:IpRange> <vcloud:StartAddress>10.10.3.2</vcloud:StartAddress> <vcloud:EndAddress>10.10.3.150</vcloud:EndAddress> </vcloud:IpRange> </vcloud:IpRanges> </vcloud:IpScope> </vcloud:IpScopes> <vcloud:ParentNetwork href="" name="SantaClara01 Default vDC Net"/> <vcloud:FenceMode>bridged</vcloud:FenceMode> <vcloud:RetainNetInfoAcrossDeployments>false </vcloud:RetainNetInfoAcrossDeployments> </vcloud:Configuration> <vcloud:IsDeployed>false</vcloud:IsDeployed> </vcloud:NetworkConfig> </vcloud:NetworkConfigSection> <ovf:VirtualSystemCollection ovf:id="OvaOvfOrtTestingGrounds"> <ovf:Info>A collection of virtual machines</ovf:Info> <ovf:Name>OvaOvfOrtTestingGrounds</ovf:Name> <ovf:StartupSection> <ovf:Info>VApp startup section</ovf:Info> <ovf:Item ovf:id="WinServe08ER264_KISS" ovf:order="0" ovf:startAction="powerOn" ovf:startDelay="0" ovf:stopAction="powerOff" ovf:stopDelay="0"/> </ovf:StartupSection> <ovf:VirtualSystem ovf:id="WinServe08ER264_KISS"> <ovf:Info>A virtual machine</ovf:Info> <ovf:Name>WinServe08ER264_KISS</ovf:Name> <ovf:OperatingSystemSection ovf:id="102" vmw:osType="windows7Server64Guest"> <ovf:Info>Specifies the operating system installed</ovf:Info> <ovf:Description>Microsoft Windows Server 2008 R2 (64-bit)</ovf:Description> </ovf:OperatingSystemSection> <ovf:VirtualHardwareSection ovf:transport=""> <ovf:Info>Virtual hardware requirements</ovf:Info> <ovf:System> <vssd:ElementName>Virtual Hardware Family</vssd:ElementName> <vssd:InstanceID>0</vssd:InstanceID> <vssd:VirtualSystemIdentifier>WinServe08ER264_KISS </vssd:VirtualSystemIdentifier> <vssd:VirtualSystemType>vmx-09</vssd:VirtualSystemType> </ovf:System> <ovf:Item> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation> <rasd:Connection vcloud:ipAddress="10.10.3.5" vcloud:ipAddressingMode="POOL" vcloud:primaryNetworkConnection="true"> SantaClara01 Default vDC Net</rasd:Connection> <rasd:Description>E1000 ethernet adapter on "SantaClara01 Default vDC Net" </rasd:Description> <rasd:ElementName>Network adapter 0</rasd:ElementName> <rasd:InstanceID>1</rasd:InstanceID> <rasd:ResourceSubType>E1000</rasd:ResourceSubType> <rasd:ResourceType>10</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="32"/> <vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true"/> </ovf:Item> <ovf:Item> <rasd:Address>0</rasd:Address> <rasd:Description>SCSI Controller</rasd:Description> <rasd:ElementName>SCSI Controller 0</rasd:ElementName> <rasd:InstanceID>2</rasd:InstanceID> <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType> <rasd:ResourceType>6</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="16"/> </ovf:Item> <ovf:Item> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:Description>Hard disk</rasd:Description> <rasd:ElementName>Hard disk 1</rasd:ElementName> <rasd:HostResource>ovf:/disk/vmdisk-937ddc9d-6a9d-4855- ac51-39d265926ec1-2000</rasd:HostResource> <rasd:InstanceID>2000</rasd:InstanceID> <rasd:Parent>2</rasd:Parent> <rasd:ResourceType>17</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="backing.writeThrough" vmw:value="false"/> </ovf:Item> <ovf:Item> <rasd:Address>1</rasd:Address> <rasd:Description>IDE Controller</rasd:Description> <rasd:ElementName>IDE Controller 1</rasd:ElementName> <rasd:InstanceID>3</rasd:InstanceID> <rasd:ResourceType>5</rasd:ResourceType> </ovf:Item> <ovf:Item> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:AutomaticAllocation>false </rasd:AutomaticAllocation> <rasd:Description>Floppy Drive</rasd:Description> <rasd:ElementName>Floppy Drive 1</rasd:ElementName> <rasd:HostResource/> <rasd:InstanceID>8000</rasd:InstanceID> <rasd:ResourceType>14</rasd:ResourceType> </ovf:Item> <ovf:Item> <rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits> <rasd:Description>Number of Virtual CPUs </rasd:Description> <rasd:ElementName>6 virtual CPU(s), 3 Sockets, 2 CPU cores per socket</rasd:ElementName> <rasd:InstanceID>4</rasd:InstanceID> <rasd:Limit>8000</rasd:Limit> <rasd:Reservation>0</rasd:Reservation> <rasd:ResourceType>3</rasd:ResourceType> <rasd:VirtualQuantity>6</rasd:VirtualQuantity> <rasd:Weight>2000</rasd:Weight> <vmw:CoresPerSocket ovf:required="false">3</vmw:CoresPerSocket> </ovf:Item> <ovf:Item> <rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits> <rasd:Description>Memory Size</rasd:Description> <rasd:ElementName>4096 MB of memory</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:Limit>4096</rasd:Limit> <rasd:Reservation>0</rasd:Reservation> <rasd:ResourceType>4</rasd:ResourceType> <rasd:VirtualQuantity>4096</rasd:VirtualQuantity> <rasd:Weight>40960</rasd:Weight> </ovf:Item> <ovf:Item> <rasd:Address>1</rasd:Address> <rasd:Description>IDE Controller</rasd:Description> <rasd:ElementName>IDE 1</rasd:ElementName> <rasd:InstanceID>100</rasd:InstanceID> <rasd:ResourceType>5</rasd:ResourceType> </ovf:Item> <ovf:Item> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation> <rasd:Description>CD/DVD Drive</rasd:Description> <rasd:ElementName>CD/DVD Drive 1</rasd:ElementName> <rasd:HostResource/> <rasd:InstanceID>3002</rasd:InstanceID> <rasd:Parent>100</rasd:Parent> <rasd:ResourceType>15</rasd:ResourceType> </ovf:Item> <ovf:Item> <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation> <rasd:ElementName>Video card</rasd:ElementName> <rasd:InstanceID>6</rasd:InstanceID> <rasd:ResourceType>24</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="enable3DSupport" vmw:value="false" /> <vmw:Config ovf:required="false" vmw:key="use3dRenderer" vmw:value="automatic" /> <vmw:Config ovf:required="false" vmw:key="useAutoDetect" vmw:value="false" /> <vmw:Config ovf:required="false" vmw:key="videoRamSizeInKB" vmw:value="16384" /> </ovf:Item> <vmw:Config ovf:required="false" vmw:key="cpuHotAddEnabled" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="cpuHotRemoveEnabled" vmw:value="false"/> <vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="bios"/> <vmw:Config ovf:required="false" vmw:key="virtualICH7MPresent" vmw:value="false"/> <vmw:Config ovf:required="false" vmw:key="virtualSMCPresent" vmw:value="false"/> <vmw:Config ovf:required="false" vmw:key="memoryHotAddEnabled" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="nestedHVEnabled" vmw:value="false"/> <vmw:Config ovf:required="false" vmw:key="powerOpInfo.powerOffType" vmw:value="soft"/> <vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="soft"/> <vmw:Config ovf:required="false" vmw:key="powerOpInfo.standbyAction" vmw:value="checkpoint"/> <vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="hard"/> <vmw:Config ovf:required="false" vmw:key="tools.afterPowerOn" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="tools.afterResume" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="tools.beforeGuestShutdown" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="tools.beforeGuestStandby" vmw:value="true"/> <vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="false"/> <vmw:Config ovf:required="false" vmw:key="tools.toolsUpgradePolicy" vmw:value="manual"/> </ovf:VirtualHardwareSection> <vcloud:GuestCustomizationSection ovf:required="false"> <ovf:Info>Specifies Guest OS Customization Settings</ovf:Info> <vcloud:Enabled>true</vcloud:Enabled> <vcloud:ChangeSid>false</vcloud:ChangeSid> <vcloud:VirtualMachineId>937ddc9d-6a9d-4855-ac51- 39d265926ec1</vcloud:VirtualMachineId> <vcloud:JoinDomainEnabled>false</vcloud:JoinDomainEnabled> <vcloud:UseOrgSettings>false</vcloud:UseOrgSettings> <vcloud:AdminPasswordEnabled>false</vcloud:AdminPasswordEnabled> <vcloud:AdminPasswordAuto>true</vcloud:AdminPasswordAuto> <vcloud:ResetPasswordRequired>false</vcloud:ResetPasswordRequired> <vcloud:ComputerName>compname</vcloud:ComputerName> </vcloud:GuestCustomizationSection> </ovf:VirtualSystem> </ovf:VirtualSystemCollection> </ovf:Envelope>


Feedback and Knowledge Base