Ovf Tool 462 User Guide
Ovf Tool 462 User Guide
You can find the most up-to-date technical documentation on the VMware by Broadcom website at:
https://docs.vmware.com/
VMware by Broadcom
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
©
Copyright 2009-2023 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc.
and/or its subsidiaries. For more information, go to https://www.broadcom.com. All trademarks, trade
names, service marks, and logos referenced herein belong to their respective companies.
VMware by Broadcom 2
Contents
VMware by Broadcom 3
OVF Tool User Guide
VMware by Broadcom 4
OVF Tool User Guide
VMware by Broadcom 5
About This Book
This OVF Tool User Guide provides information about how to use VMware® OVF Tool to
package virtual machines and vApps into Open Virtualization Format (OVF) standard packages.
Revision History
Table 1-1. Revision History shows the changes made for various versions of this manual.
Revision Description
09/2023 Revised with vSphere 8.0 U2. New vmxFromConfigFile option. Updated procedure for signing OVF packages.
06/2023 Changed chapter and section titles for search engine optimization.
04/2023 Revised with vSphere 8.0 U1. Deleted references to discontinued products, added pull mode.
09/2022 Revised with vSphere 8.0, including new virtual TPM support (vTPM).
04/2020 Updated with new flags and features for vSphere 7.0 release.
05/2018 OVF Tool 4.3.0. Large upload retry, SHA digest fix, NVM and PMEM, Curl update, better logging, VBS and TPM support.
10/2016 OVF Tool 4.2.0. New options for SSL version and cipher list, NVRAM support for EFI boot.
03/2015 OVF Tool 4.1.0 User’s Guide. Added DVS port group, and --proxy option for vSphere or vCloud.
10/2014 OVF Tool 4.0.0 User’s Guide. Added --allowAllExtraConfig and --decodeBase64 command line options.
06/2014 OVF Tool 3.5.2 User’s Guide. Increased security for Open SSL.
08/2013 OVF Tool 3.5.0 User’s Guide. Includes new command line options.
VMware by Broadcom 6
OVF Tool User Guide
Revision Description
Intended Audience
This book is intended for anyone who needs to convert an OVF package to a virtual machine,
or a virtual machine to an OVF package. Users typically include: system administrators, software
developers, QA engineers, and anyone who need to package or unpackage virtual machines
using open industry standards.
Document Feedback
VMware welcomes your suggestions for improving our documentation. If you have comments,
you can post your feedback in topics on the documentation website.
VMware by Broadcom 7
VMware OVF Tool
1
Open Virtualization Format (OVF) is an industry standard to describe metadata about virtual
machine images in XML format. VMware OVF Tool is a command-line utility that helps users
import and export OVF packages to and from a wide variety of VMware products.
Version 1.1 was published in January 2010, which supersedes the 1.0 specification published April
2009, and is available on the DMTF Web site, along with a white paper.
n Specification: http://www.dmtf.org/standards/published_documents/DSP0243_1.1.0.pdf
n Whitepaper: http://www.dmtf.org/standards/published_documents/DSP2017_1.0.0.pdf
Benefits of OVF
Using OVF to distribute virtual machines has the following benefits:
n Ease of use. When users receive a package in OVF format, they do not have to unzip files,
execute binaries, or convert disk formats. Adding a vApp can be as simple as typing a URL
and clicking Install.
VMware by Broadcom 8
OVF Tool User Guide
n Virtual hardware validation. OVF supports fast and robust hardware validation. You do not
have to install a complete virtual machine before determining whether it is compatible with an
ESXi host (for example, because it uses IDE virtual disks).
n Optimized download from the Internet. Large virtual disks are compressed for fast download
and to reduce disk space for large template libraries.
n The OVF Tool is useful with many VMware products, including Workstation, Player, VMware
Fusion, ESXi hosts, vCenter Server, and vCloud Director.
n OVF version 0.9 and 1.0 are supported for import and export by VMware products.
OVF support is built into the vSphere Client that installs from and is compatible with vCenter
Server.
You can find the latest information about System Requirements, supported VMware software
and platforms, installation, and known issues by reading the latest release notes located at the
following web page:
https://developer.broadcom.com/tools/open-virtualization-format-ovf-tool/latest/
n Supports import and generation of OVA packages (OVA is part of the OVF standard, and
contains all the files of a virtual machine or vApp in a single file.)
n Directly converts between any vSphere, vCloud Director, VMX, or OVF source format to any
vSphere, vCloud Director, VMX, or OVF target format
n Accesses OVF sources using HTTP, HTTPS, FTP, or from a local file
n Deploys and exports vApp configurations on vSphere 4.0 (and all newer) targets and on
vCloud Director 1.5 (and all newer) targets
VMware by Broadcom 9
OVF Tool User Guide
n Provides options to power on a VM or vApp after deployment, and to power off a virtual
machine or vApp before exporting (caution advised)
n Provides context sensitive error messages for vSphere and vCloud Director sources and
targets, showing possible completions for common errors, such as an incomplete vCenter
inventory path or missing datastore and network mappings
n Provides an optional output format to support scripting when another program calls OVF
Tool
n Uses new optimized upload and download API (optimized for vSphere 4.0 and newer)
For VMware products without built-in OVF support, or when you need to accomplish specialized
OVF operations, you can download the OVF Tool over the Web.
For example, to export a vApp into an OVF package using vSphere Client 4:
Using the vSphere Client 2.5, you can import an OVF virtual machine into an ESXi host and export
a virtual machine to an OVF file (note that vSphere Client 2.5 is limited to OVF 0.9). For example,
to import an OVF vApp into an ESXi host using vSphere Client 2.5:
For example, to export a virtual machine to an OVF file using vSphere Client 2.5:
OVF packages imported or exported by OVF Tool are completely compatible with packages
imported or exported by the vSphere Client or the vSphere Client.
VMware by Broadcom 10
OVF Tool User Guide
Delta disk compression identifies disk segments that are equal and combines these equal parts in
a parent disk. This process prevents storing the same segment twice.
As an example, consider a software solution that consists of an Apache Web server virtual
machine and a MySQL database virtual machine, both installed on top of a single-disk Ubuntu
server. The two virtual machines were created with the following process:
Using delta disk compression on the two virtual machine disks creates a parent disk containing all
of the information they share, which is essentially the entire operation system and two child disks
containing the MySQL and Apache parts.
A plain Ubuntu server can use 400–500MB of space, and two would use 800–1000MB of space.
By contrast, using delta disk compression, an OVF package with these two servers uses only
400–500MB (plus the size of the MySQL and Apache installations), which saves 400–500MB by
not duplicating the Ubuntu server.
vSphere 4 and later support the deployment of OVF packages that contain delta disk hierarchies.
Any number of disks can be combined creating various disk trees and saving more space.
n Only disks with equal capacity can be combined. If you expect to use delta disk compression,
you must keep disk capacities equal.
n Delta disk compression necessitates that segments that might be put in a parent disk are at
the same offset from the beginning of their respective files. In the Ubuntu example, if the
setup varies between the two installations, it can completely offset each segment on one
of the disks from the segments on the other disk. In this case, delta disk compression does
not produce any significant disk space savings. This is why the example specified cloning the
Ubuntu server before installing the MySQL and Apache parts, respectively.
n Delta disk compression takes OVF packages and vSphere and VMX files as input, but not
OVA packages.
VMware by Broadcom 11
OVF Tool User Guide
n The delta disk compression algorithm needs to read the contents of each disk up to two
times. It might make sense to invoke OVF Tool on a local copy of the OVF package.
n The delta disk compression algorithm always generates an OVF package in the given output
directory. To convert this OVF package into an OVA package, reinvoke OVF Tool.
VMware by Broadcom 12
Using OVF Tool Commands
2
The VMware OVF Tool is a command-line utility that supports importing and exporting of OVF
packages, VMX files, or virtual machines from ESXi hosts and other VMware products.
n Command-Line Options
n Specifying a Locator
n Configuration Files
A target location or destination URL locator specifies either a file location, or a location within a
VMware product, such as Workstation, Fusion, ESXi, vCenter Server, or vCloud Director.
Procedure
<source locator> and <target locator> are paths to the source and target for the
virtual machine, OVF package, OVA package, or vSphere location. See Command-Line
Options for options. Table 2-1. OVF Tool Definitions of Source and Target Locators describes
the source and target locators. For details, see Specifying a Locator.
If you are using an operating system where spaces are not allowed in paths on the command
line, and need the full path to run OVF Tool, enclose the path in quotes as shown below:
VMware by Broadcom 13
OVF Tool User Guide
2 If you want to specify additional options, type them before the source and target locators.
Probe mode allows you to investigate the contents of a source. To invoke probe mode, use
the ovftool command with only a source and no target. OVF Tool prints information about
the source such as hardware, EULA, and OVF properties.
Use probe mode to examine an OVF package before deploying it. For example, you can
examine the download and deployment sizes, determine the set of networks to be mapped,
determine the OVF properties to be configured, read the EULA, and determine the virtual
hardware requirements.
The probe operation is fast, as it only needs to access the OVF descriptor. It does not need
to download the entire OVA or VMDK files. Probe mode also validates the certificate if the
source is signed. For details about Probe Mode and sample output, see Chapter 5 Using OVF
Tool Probe Mode.
If you are deploying with the ovftool command targeting an ESXi host, you must “inject”
the parameters into the resulting VM when it is powered on. This is because the ESXi host
lacks a cache to store the OVF parameters, as with vCenter Server. Therefore, you must use
the --X:injectOvfEnv debug option with the --poweron flag in the command line if you are
deploying a virtual machine targeting ESXi. Example below. (You can also do this using the
Create a VM from an OVA/OVF option in the ESXi host client, then browse to the .ova file.)
>./ovftool/ovftool\
--name="Cloudvm_2074586_with_inject"\
--X:injectOvfEnv\
--X:logFile=ovftool.log\
--X:logLevel=trivia\
--acceptAllEulas\
-ds=cl-storage-1\
-dm=thin\
--net:'Network 1=VM Network'\
--X:enableHiddenProperties\
--noSSLVerify\
--allowExtraConfig\
--machineOutput\
--prop:vami.netmask0.VMware_vCenter_Server_Appliance=255.255.255.0\
--prop:guestinfo.cis.appliance.net.prefix=24\
--prop:guestinfo.cis.appliance.net.gateway=X.X.X.123\
--prop:guestinfo.cis.appliance.time.tools-sync=True\
VMware by Broadcom 14
OVF Tool User Guide
--prop:vami.gateway.VMware_vCenter_Server_Appliance=X.X.X.123\
--prop:guestinfo.cis.appliance.net.dns.servers=X.X.X.1,X.X.X.2\
--prop:vami.ip0.VMware_vCenter_Server_Appliance=X.X.X.145\
--prop:guestinfo.cis.appliance.root.passwd=vmware\
--prop:guestinfo.cis.appliance.net.addr=X.X.X.145\
--prop:vami.DNS.VMware_vCenter_Server_Appliance=X.X.X.1,X.X.X.2\
--prop:vami.vmname=vmc-srm-vc10\
--prop:guestinfo.cis.appliance.root.shell=/bin/bash\
--prop:guestinfo.cis.vmdir.first-instance=True\
--prop:guestinfo.cis.appliance.ssh.enabled=True\
--prop:guestinfo.cis.appliance.net.mode=static\
--prop:guestinfo.cis.appliance.net.addr.family=ipv4\
--prop:guestinfo.cis.vmdir.domain-name=vsphere.local\
--prop:guestinfo.cis.vmdir.password=vmware\
--powerOn\
--X:waitForIp\
http://<directory_w/cloudvm>/VMware-vCenter-Server-Appliance-6.0.0.XXXX-XXXXXXX_OVF10.ovf\
vi://root:pwd@vm_name
You will need to replace the variables (IP addresses, build numbers, root password, and VM
names) in the above example with values from your own system.
Procedure
Command-Line Options
This section contains a long table of OVF Tool command-line options.
For every command, you specify source and target locators. Table 2-1. OVF Tool Definitions of
Source and Target Locators defines each locator type.
VMware by Broadcom 15
OVF Tool User Guide
Locator Definition
<source locator> Path to source, which must be a virtual machine, vApp, vApprun workspace entity, or an OVF package.
The source locator can be one of the following:
n A path to an OVF or OVA file (a local file path, or an HTTP, HTTPS, or FTP URL).
n A virtual machine (a local file path to a .vmx file).
n A vSphere locator identifying a virtual machine or vApp on vCenter, ESXi, or VMware Server.
n A vCloud Director locator identifying a virtual machine or a vApp in vCloud Director.
n A local file path to a vApprun workspace entity.
Table 2-2. OVF Tool Command-Line Options shows all the command-line options. Options
perform actions only between certain source and target types. The table shows source and
target types for each option. If you specify an option using an irrelevant source or target type,
the command does nothing.
All options can be set using the form --option=value. Binary options can be switched on and
off explicitly. For example: --option=true and --option=false.
--acceptAllEulas OVF, N/A Accepts all end-user licenses agreements (EULAs) without
OVA being prompted. Binary option.
--allowExtraConfig Lets you specify the extra config options that can be
converted to .vmx format. These options are a security risk
as they control low-level and potentially unsafe options on
the VM. Each option must be specified using a series of key
value pairs (sometimes referred to as a white list).
--annotation All Adds annotation to vi, vmx, vapprun, vCloud, OVF, and OVA
source locators.
--authdPortSource vSphere vSphere Overrides default VMware authd port (902) when using a
host as source or as target.
--authdPortTarget vSphere vSphere Overrides the default VMware authd port (902) when using
a host as target.
VMware by Broadcom 16
OVF Tool User Guide
--chunkSize N/A OVF, OVA Specifies the chunk size to use for files in a generated OVF
or OVA package. The default is not to chunk.
If you don’t specify a unit for chunk size, the chunk size is
assumed to be in megabytes (mb). Accepted units are b, kb,
mb, gb. Example: 2gb or 100kb.
When using this option, all output files (except the OVF
descriptor, manifest and certificate files) are sliced into the
specified chunk size. This is useful if you need to transport
an OVF package on a series of 800MB CD-ROMs, or are only
able to create files up to 2GB on FAT32 file systems.
When you use chunking with the OVA package option, the
result is similar to OVF because all files are chunked, but the
OVA package is still a single file.
--compress N/A OVF, OVA Compresses the disk when given an OVF or OVA target
locator. The value must be between 1 and 9. Use 9 for the
slowest processing time, but best compression. Use 1 for the
fastest processing time, but least compression.
--computerName Sets the computer name in the guest virtual using the syntax
--computerName:<VMID>=<value>.
Only applies to vCloud targets of version 5.5 or later.
--datastore or -ds N/A vSphere Target datastore name for a vSphere locator.
--defaultStorageProfile The storage profile for all VMs in the OVF package. The
value should be an SPBM profile ID. Only applies to VI
targets of version 5.5 or later.
-- The storage profile for all VMs in the OVF package. The
defaultStorageRawProfile value should be a raw SPBM profile. The value overwrites
that in --defaultStorageProfile. Only applies to VI
targets of version 5.5 or later.
--deploymentOption OVF, N/A Deployment options for a deployed OVF package, if the
OVA source OVF package supports multiple options. An OVF
package can contain several deployment configurations. This
option allows you to select which configuration to use when
deploying to the vSphere target.
VMware by Broadcom 17
OVF Tool User Guide
--disableVerification OVF, N/A Skips validation of signature and certificate. Binary option.
OVA
--diskMode or -dm N/A VMX, Select target disk format. Supported formats are:
vApprun,vSphere monolithicSparse, monolithicFlat, twoGbMaxExtentSparse,
twoGbMaxExtentFlat, seSparse (vSphere target),
eagerZeroedThick (vSphere target), thin (vSphere target),
thick (vSphere target), sparse, and flat.
--eula N/A OVF, OVA Inserts the EULA in the first virtual system or virtual system
collection in the OVF. If the EULA is in a file, use this format:
--eula@=filename
--help or -h N/A N/A Prints the VMware OVF Tool message that lists the help
options.
--hideEula OVF,OVA N/A Does not include the EULA in the OVF probe output. Binary
option.
--I:sourceSessionTicket vSphere vSphere Integration option. Specifies the session ticket used for
authenticating the vSphere source locator.
--I:targetSessionTicket vSphere vSphere Integration option. Specifies the session ticket used for
authenticating the vSphere target locator.
VMware by Broadcom 18
OVF Tool User Guide
--ipAllocationPolicy OVF,OVA N/A IP allocation policy for a deployed OVF package. Supported
values are: dhcpPolicy, transientPolicy, fixedPolicy, or
fixedAllocatedPolicy.
In OVF descriptors, you can specify a VMware specific IP
assignment policy that guides the deployment process by
expressing which of the policies the OVF package supports.
Only values listed in the OVF descriptor are supported when
the OVF or OVA package is deployed.
--ipProtocol OVF, N/A Specifies which IP protocol to use. For example, IPv4, IPv6.
OVA As with the ipAllocationPolicy option, you can specify
which IP version this OVF package uses when it is deployed.
Use only the values listed in the OVF descriptor.
--lax OVF, N/A Relax OVF specification conformance and virtual hardware
OVA compliance checks. (For advanced users only.)
--machineOutput N/A N/A Outputs OVF Tool messages in a machine readable format.
Binary option.
--makeDeltaDisks OVF, Must be Use delta disk compression to create an OVF package from
vSphere, directory a disk source. Binary option.
VMX,
vApprun
[ds] vmname/vmdisk1.vmdk
--name or -n N/A All Specifies the target name. Defaults to the source name.
VMware by Broadcom 19
OVF Tool User Guide
--net OVF, N/A Sets a network assignment in the deployed OVF package.
OVA For example, --net:<OVFname>=<target name>. OVF
packages contain symbolic names for network names which
are assigned with this option.
For multiple network mappings, repeat the option,
separating them with a space, for example, --net:s1=t1
--net:s2=t2 --net:s3=t3.
If the target is vCloud 5.5 or later, a fence
mode can also be specified using the syntax
--net:<OVFname>=<targetName>,<fenceMode>. Possible
fence mode values are: bridged, isolated, and
natRouted.
--network or -nw OVF, N/A Target network for a vSphere deployment. Use this option in
OVA place of the --net option when only one network exists in
the OVF package. This option maps the symbolic OVF name
to the specified network name.
--noDisks N/A All Creates and uploads the virtual machine or vApps but does
not upload any disk files. Disks are created empty. (Disables
disk conversion.)
--noImageFiles N/A All Creates and uploads the virtual machine or vApps but does
not upload ISO files to a CD-ROM. That is, does not include
image files in destination.
--noNvramFile vSphere vSphere Skips the NVRAM file when exporting a VM to OVF or
deploying OVF to a VM. It does not download the NVRAM
file during VM export, nor does it upload the NVRAM file
during deployment or OVF import.
--noProxyVerify vCloud vCloud Do not check the proxy's SSL certificate, as is done by
default.
--noSSLVerify vSphere vSphere Skip SSL verification for vSphere connections. As of OVF
Tool 4.4.0 you can skip source or destination verification
with --noSourceSSLVerify (unless you also specify --
sourceSSLThumbprint) or --noDestinationSSLVerify.
VMware by Broadcom 20
OVF Tool User Guide
--packageCert OVF OVA Packages an OVF into OVA with a required signature file,
as-is, instead of generating one. This is the only way to
create an OVA with a certificate file in it, resulting in a signed
package.
--parallelThreads=N vSphere vSphere Upload to the host, or from the host, in parallel using N
threads. VMX<=>OVF, OVF<=>VI, VMX<=>VI, but not OVA.
N may be a number from 1 to 100 but should approximate
the number of CPU cores minus one.
--powerOffSource vCloud, N/A Ensures that a virtual machine or vApp is powered off before
vSphere importing from a vSphere source. Binary option.
--powerOffTarget N/A vCloud, vSphere Ensures that a virtual machine or vApp is powered off before
overwriting a vSphere target. Binary option.
--powerOn N/A vCloud, vSphere Powers on a virtual machine or vApp deployed on a vSphere
target. Binary option.
--privateKey N/A OVF, OVA Signs the OVF package with the given private key (.pem file).
The file must contain a private key and a certificate.
--privateKeyPassword N/A OVF, OVA Password for the private key. Used in conjunction with
--privateKey if the private key requires password
authentication. If required but not specified, the tool prompts
for the password.
--prop OVF, N/A Sets a property in the deployed OVF package. For example,
OVA --prop:<key>=<value>. Use probe mode to learn which
properties an OVF package can set. For multiple property
mappings, repeat the option, separating them with a blank,
for example, --prop:p1=v1 --prop:p2=v2 --prop:p3=v3.
--proxy OVF, OVF, OVA, Specifies and enables a proxy for HTTP, HTTPS, FTP,
OVA, vCloud, vSphere vSphere, and vCloud access. The proxy is expressed as the
vCloud, URL to the proxy. For example, for proxy.example.com, the
vSphere option value is:
https://proxy.example.com:345
OVF Tool supports proxies that require authentication. If you
do not provide credentials in the URL, the OVF Tool prompts
you for them. The --proxy flag enables both vSphere (VI)
and vCloud proxies.
--proxyNTLMAuth OVF, OVF, OVA, Enables support for the NTLM authentication and security
OVA, vCloud, vSphere protocol. NT LAN Manager is the authentication protocol
vCloud, used on networks that include systems running the Windows
vSphere operating system and on stand-alone systems.
VMware by Broadcom 21
OVF Tool User Guide
--quiet or -q N/A N/A Prints only errors. No other output is sent to the screen.
Binary option.
--requireSignature OVF, OVF, OVA A certificate file (signature) must be present for the package
OVA when reading (probing) or opening a package.
--schemaValidate OVF, N/A Validates OVF descriptor against the OVF schema. Binary
OVA option.
--shaAlgorithm sha1, Use this option to condense with Secure Hash Algorithm
sha256, (SHA) for manifest validation, digital signing, and OVF
sha512 package creation. Can be either sha1 (SHA-1), sha256
(SHA-256), or sha512 (SHA-512). The default value is sha256.
--skipManifestCheck OVF, N/A Skips validation of the OVF package manifest. Binary option.
OVA
--skipManifestGeneration N/A OVF, OVA Skips generation of the OVF package manifest. Binary
option.
--sourcePEM File path to a Privacy Enhanced Mail (.pem) file used to verify
vSphere connections.
Example: --sourcePEM:<filename>.pem
--sourceSSLThumbprint vSphere N/A SSL thumbprint of the source. OVF Tool verifies the SSL
thumbprint that it receives from the source, if this value is
set.
--sourceType or -st OVF, N/A Explicitly expresses that the source is OVF, OVA, VMX,
OVA, VMX, vSphere, vCloud, ISO, FLP, or vApprun.
VMX,
VMX, VI,
vCloud,
ISO, FLP,
vApprun
--targetPEM File path to a Privacy Enhanced Mail (.pem) file used to verify
vSphere connections.
Example: --targetPEM:<filename>.pem
VMware by Broadcom 22
OVF Tool User Guide
--targetSSLThumbprint N/A vSphere SSL thumbprint of the target. OVF Tool verifies the SSL
thumbprint that it receives from the target, if this value is
set.
--targetType or -tt N/A OVF, OVA, VMX, Explicitly express that the target is OVF, OVA, VMX, VMX,
VI, vCloud, ISO, vSphere, vCloud, ISO, FLP, or vApprun.
FLP, vApprun
--verifyOnly All N/A Do not upload the source; just verify it. This applies only to
vSphere 4.
--verifyViTargetManifest vSphere, vSphere, VI Upon import of OVF, does extra check and validates the
VI SHA1 digest of a file transferred to a VI Target against the
SHA1 digest of the source file being transferred. SHA1 takes
effect for all SHA calculations, so the host must support
SHA1. Not compatible with --pullUploadMode.
--version or -v N/A N/A Shows version information for OVF Tool. Binary option.
--viCpuResource N/A vSphere Specify the CPU resource settings for VI locator targets. The
syntax is:
--viCpuResource=<shares>:<reservation>:<limit>
--viMemoryResource N/A vSphere Specify the memory resource settings for vSphere locator
targets. The syntax is:
--
viMemoryResource=<shares>:<reservation>:<limit>
--vmFolder or -vf N/A vSphere The target virtual machine folder in vSphere inventory (for a
datacenter).
--X:ignoreLinkLocalIp vSphere vSphere While waiting for an IPv4 or IPv6 address,ignore a link local
address, 169.254.0.0/16 or fe80::/10.
--X:vmxFromConfigFile vSphere vSphere Extract ConfigInfo from a live VM, convert it to VMX, and
save results in the specified file. You can also specify a file to
log this transaction. For example:
--X:vmxFromConfigFile=vmxConfigInfoAsVmx
--X:logFile=cfgInfo.log
--X:waitForIpv4 vSphere vSphere Have OVF Tool wait for an IPv4 address to be sure the
network is initialized.
--X:waitForIpv6 vSphere vSphere Have OVF Tool wait for an IPv6 address to be sure the
network is initialized.
VMware by Broadcom 23
OVF Tool User Guide
<ovf:VirtualSystem ovf:id="vm1">
<ovf:Info>A virtual machine</ovf:Info>
<ovf:Name>WinServer2012</ovf:Name>
<ovf:OperatingSystemSection ovf:id="74" vmw:osType="windows8Server64Guest">
<ovf:Info>Specifies the operating system installed</ovf:Info>
<ovf:Description>Microsoft Windows Server 2012 (64-bit)</ovf:Description>
</ovf:OperatingSystemSection>
...
For example, you must use the VM ID when specifying the size of memory for a VM, as in this
option: --memorySize:vm1=1024
If you are customizing an existing VM, look at the descriptor file to get the VM ID. You can also
have the ovftool read an OVF file and extract the IDs before importing or deploying it.
<ovf:DiskSection>
<ovf:Info>Virtual disk information</ovf:Info>
<ovf:Disk ovf:capacity="4" ovf:capacityAllocationUnits="byte * 2^20"
ovf:diskId="disk1" ovf:fileRef="disk1-file"
ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized"/>
</ovf:DiskSection>
<ovf:VirtualSystem ovf:id="vm1">
...
<ovf:VirtualHardwareSection>
<ovf:Info>Virtual hardware requirements</ovf:Info>
<ovf:Item>
<rasd:AddressOnParent>0</rasd:AddressOnParent>
<rasd:Description>SCSI Hard disk</rasd:Description>
<rasd:ElementName>SCSI Hard disk 1</rasd:ElementName>
<rasd:HostResource>ovf:/disk/disk1</rasd:HostResource>
<rasd:InstanceID>2000</rasd:InstanceID>
<rasd:Parent>2</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</ovf:Item>
...
VMware by Broadcom 24
OVF Tool User Guide
In the above example specifying instance ID “2000” (without quotes) would cause the disk with
ID “disk1” (without quotes) to be resized: --diskSize:vm1,2000=256 (set the size to 256).
Note that if multiple disk devices are backed by the same disk (i.e. the OVF contains multiple disk
RASD items that refer to the same disk) you must specify the new size for all disk elements, not
just one. Sharing disks between VMs is not common, but allowed in the OVF spec.
integration : list of options primarily used when you execute the ovftool from another tool or shell script
For example, you can use a command like this to write the log in a file called ovf.log:
--X:logLevel=level Log level. Valid values are: none, quiet, panic, error, warning,
info, verbose, and trivia).
VMware by Broadcom 25
OVF Tool User Guide
--X:logTransferHeaderData Add transfer header data to the log. Use with care. Default value is
false
OVF Tool includes many other debug options that you can set to retrieve specific data. You can
see all the -X options and their definitions by running ovftool --help debug.
Specifying a Locator
A source or target locator points to a specific resource. Locators must specify a protocol, which
defines how to reach the resource. Supported protocols are file access, vSphere, HTTP, HTTPS,
and FTP.
File locators can point to an OVF package (.ovf or .ova), a virtual machine (.vmx). HTTP,
HTTPS, or a vApprun workspace entity. FTP locators can point to OVF and OVA files. The
resource type is determined from the filename suffix, unless one or both of the options --
sourceType and --targetType are used explicitly.
vSphere locators can point to various resource types: virtual machines, vApps, hosts, clusters, or
resource pools. For a source locator, the resource type must be a virtual machine or vApp. For a
target locator, the resource type must be a host, cluster, or a resource pool. A vSphere locator is
used for a vSphere server, vCenter Server, VMware Server, or an ESXi host.
At the command line, type --help locators to display the online help for locators.
Table 2-3. Source Locator and Table 2-4. Target Locator list the default extensions of the
different source and target types, as well as which protocols are supported.
VMware by Broadcom 26
OVF Tool User Guide
File Locators
File locators are the same for source and target. They are specified using ordinary path syntax.
C:\folder1\folder2\package.ovf
..\folder1\package1.ovf
package1.ovf
/folder1/folder2/package.ovf
../folder1/package1.ovf
package1.ovf
VMware by Broadcom 27
OVF Tool User Guide
When you specify a login name and password in a URL, or interactively, ovftool uses an open
source library for URL encoding, also called percent encoding, to make the result acceptable on
the web. For VI and vCloud locations, percent encoding is unnecessary and not done.
It is possible to omit the user name and password from the locator. If needed, OVF Tool prompts
you for them. If you use the standard port, it is not necessary to specify the port. Table 2-5.
Standard Ports shows the standard ports.
Protocol Port
HTTP 80
HTTPS 443
FTP 21
vSphere Locators
vSphere source locators point to a virtual machine or vApp within the virtual infrastructure. The
vSphere target locator provides all required information for importing an OVF package or virtual
machine into a cluster, host or resource pool. Both source and target locator use the same
syntax:
vi://<username>:<password>@<host>:<port>/<search-term>
VMware by Broadcom 28
OVF Tool User Guide
The server name and port can designate either a vCenter server or an ESXi host. If you omit
credentials, OVF Tool prompts you for them. Default installations of vCenter Server and ESXi use
port 443. If you are using the default port, you do not need to specify it. When using OVF Tool
with VMware Server, you had to specify port 8333, the default port for this discontinued product.
<path>[?<query>=<value>]
If a query is not given, a VC inventory path lookup is performed using the specified path.
Otherwise, the object matching the query is used. The meaning of the query depends on the
object type. Table 2-6. Source and Target Values for All Query Types shows the different values
that you can use in the query field.
Table 2-6. Source and Target Values for All Query Types
Mo-Ref moref Managed object reference (vSphere Managed object reference (vSphere
specific identifier) of a virtual specific identifier) of a host, cluster, or
machine or vApp resource pool
Table 2-7. Examples of Query Values shows example values for each query type.
Datastore ds vi://localhost/TestDatacenter?ds=[foo]/myvm/myvm.vmx
IP Address ip vi://localhost?ip=123.231.232.232
Note: For the same VM, the Managed Object Reference (MoRef) will be different for vCenter Server than it is
for the ESXi host. For instance, the same VM can have a MoRef of ‘vm-92’ in vCenter Server and ‘118’ in the
ESXi host. Also note that the syntax contains ‘vm-’ for a vCenter Server MoRef. When the Motif is defined by
vCenter Server, you can see it in the browser address and use it directly. The OVF Tool script doesn't define
and parse the format of a MoRef.
You can enter a partial source locator if you do not know the entire inventory path. In this case,
the tool fails but suggests possible inventory path completions.
VMware by Broadcom 29
OVF Tool User Guide
or
The use of the vm tag after the datacenter name specifies that you are locating a virtual machine
or vApp in the VM and Template view. Use the host tag after the datacenter name if you are
locating a virtual machine or vApp in the Host and Clusters view.
MyDatacenter/vm/MyVM
The following example shows an inventory path with two nested folders:
n <resource pool>. Can take the value of one or more nested resource pools. If no resource
pools are specified, the default resource pool for the host is used.
vi://username:pass@localhost/my_datacenter/host/esx01.example.com
vi://username:pass@localhost/my_datacenter/host/esx01.example.com/Resources/
my_resourcepool
Note You must specify the /host/ section of an inventory path when using a vi destination
locator. If you are specifying the destination of a resource pool, you must include the /Resources/
section of the path.
vcloud://username:password@host:port?org=name_of_org&vapp=name_of_deployed_vapp&
catalog=name_of_catalog&vappTemplate=name_of_vapp_template_in_catalog&vdc=name_of_vdc
VMware by Broadcom 30
OVF Tool User Guide
Some of the options are not needed if there is only one virtual datacenter to choose from. If
there are more than on datacenter, the catalog option is required. The org option is mandatory,
because it is used to log in to vCloud Director.
Note OVF Tool supports all source types for vCloud Director 1.5. For vCloud Director 1.0, OVF
Tool only supports OVF/OVA/vCloud sources. OVF Tool does not support vi, vmx, or vapprun
sources for vCloud Director 1.0.
This example exports a vCloud Director vApp to the OVF file /tmp/test1.ovf
If you use a network, you map the network in the usual way:
--net:sourceNET=targetNET
Partial Locators
When using OVF Tool, it is often not necessary to specify source and target types as long as
certain filename conventions are used. It is possible to the ignore locator type and specify the
source and target explicitly using the arguments --sourceType=... and --targetType=.
OVF Tool assumes the locator type based on the following rules:
n If the name starts with vcloud://, OVF Tool assumes vCloud Director type.
n If the name starts with vi://, OVF Tool assumes vSphere type.
n If the name ends with .ovf, OVF Tool assumes OVF type.
n If the name ends with .vmx, OVF Tool assumes VMX type.
n If the name ends with .ova, the OVF tool assumes OVA type.
n If the locator is a file path to a directory that represents a vApprun workspace or an entity in
a vApprun workspace, then OVF Tool assumes vApprun type.
Similarly, source and target types can be inferred from folder locators. OVF Tool assumes the
type using the following rules:
n If the source locator is a folder, OVF Tool assumes that the source is an OVF package and
that the OVF descriptor is called the same as the folder, for example, my-ovf/my-ovf.ovf.
VMware by Broadcom 31
OVF Tool User Guide
n If the source is an OVF package and the target locator is a directory, such as
MyVirtualMachines/, OVF Tool assumes that the target is a VMX locator. The created
VMX/VMDK file is put in a directory with the target name, for example, MyVirtualMachines/
MyVM/MyVM.vmx.
n If the source is a VMX locator and the target locator is a directory, OVF Tool assumes that
the target is an OVF package.
n If the source is a vSphere locator, and the target locator is a directory, OVF Tool assumes
that the target is an OVF package.
OVF Tool supports partial vSphere locators when deploying or exporting. For an incomplete
locator path, the tool suggests completions at the command line. Partial vSphere Locators at the
Command Line shows the command-line dialog when partial locators are used.
OVF Tool supports partial vSphere locators when deploying or exporting. For an incomplete
locator path, the tool suggests completions at the command line. Partial vCloud DirectorLocators
at the Command Line shows the command-line dialog when partial locators are used. First, OVF
Tool signals that there is more than one virtual datacenter present, then multiple catalogs, then
multiple networks. At each attempt, you must select one of the options that OVF Tool presents.
VMware by Broadcom 32
OVF Tool User Guide
"vcloud://jd:[email protected]:443/?org=myOrg&vapp=test1&vdc=orgVdc&catalog=catalog"
Opening OVF source: LAMP.ovf
Warning: No manifest file
Opening vCloud target: vcloud://js:[email protected]:443/
Error: Multiple networks found on target. Possible completions are:
extNet2
extOrgNet
intNet2
intnet
Completed with errors
Configuration Files
OVF Tool has many options. Rather than repeatedly entering long commands on the command
line, you can create a configuration file. A configuration file uses the following syntax:
option1=value
...
#comment
optionN=value
VMware by Broadcom 33
OVF Tool User Guide
proxy=http://proxy.example.com
datastore=storage-test42
# Comment on something
locale=dk
You can create local or global configuration files. The local configuration file ovftool.cfg is read
in the folder where you invoke OVF Tool. The global configuration file is per user.
On Windows (after XP), the global configuration file is in the following location:
C:\Users\%USER%\AppData\Roaming\VMware\ovftool.cfg
Linux and OS X look for the global configuration file in the following location:
When reading configuration files, globally defined options are overwritten by locally defined
options, and locally defined options are overwritten by the --configFile command-line option.
Some variables, such as proxy, do not allow you to specify the option in multiple places. If
ovftool stops running with the error “already exists“ it is likely that you specified an option on
the command line and in a configuration file.
You can use the ovftool --help config command to get information about how to use a
configuration file. In addition, the current contents of the global configuration file as well as any
local configuration file is shown.
Handling Authentication
OVF Tool generates AUTHENTICATION output messages if access to a resource requires
username and password. A vSphere or vCloud locator, a proxy server, or an authenticated URL
require usernames and passwords. OVF Tool generates AUTHENTICATION messages only for
resources where passwords are not explicitly provided as command-line arguments or as part of
the locator.
n source locators
n target locators
n proxyServer
VMware by Broadcom 34
OVF Tool User Guide
For source and target locators, you must provide the username on the command-line. If you
do not provide a password, OVF Tool generates an AUTHENTICATION message and you must
provide the password on STDIN. If the proxy server requires authentication, you must provide
both the username and password on STDIN. OVF Tool supports the following commands on
STDIN:
For an example of the output of running machineOutput in authentication mode, see Output
from Running machineOutput in Import Mode.
If you use the --I:morefArgs argument, the values for --vmFolder, --network, --net, and
--datastore are interpreted as MoRefs instead of names, as shown in the following example:
VMware by Broadcom 35
Examples of OVF Tool Syntax
3
This chapter provides many examples of OVF Tool usage, that are divided into the following
categories:
You can see similar examples within the OVF Tool, by typing --help examples on the command
line while you are in the directory where the ovftool script is running.
n Using a Proxy
VMware by Broadcom 36
OVF Tool User Guide
Table 3-1. Supported File and Package Types for OVF Tool Input and Output
OVF (.ovf) Open Virtualization National ANSI standard for packaging software for
Format virtual machines, originally created by an industry
consortium, the Distributed Management Task Force
(DTMF).
An OVF package includes: a descriptor file, optional
manifest and certificate files, optional disk images,
and optional resource files (such as ISOs). The disk
image files can be in VMware’s .vmdk disk image
format or any other supported disk image format.
OVF packages can be used by the software of any
hypervisor or processor architecture that supports this
format.
OVA (.ova) Open Virtual Appliance A TAR archive that contains an OVF package.
VMX (.vmx) Virtual Machine When you create a new virtual machine, this file
Configuration File is created to store information about the operating
system, disk sizes, networking, and virtual hardware.
Files in this format and in .vmdk format are sometimes
referred to together as VMware runtime format.
VMDK (.vmdk) Virtual Machine Disk Files with this extension may contain disk
characteristics (,vmdk), contents (-flat.vmdk), or
snapshot files (-delta.vmdk). These files are called out
on the OVF Tool command line, but may exist within
the package.
VI (vi://) VMware Infrastructure This is an older term that originated with ESX 3, but is
still seen in the command line syntax for the OVF Tool.
As an OVF command line option, ‘vi//’ is used before
the credentials and path to a server.
vCloud vCloud Director format The vCloud Director REST API makes basic transfer
between clouds possible using OVF packages,
which preserve application properties, networking
configuration and other settings.
ISO (.iso) Optical Image File An ISO archive is a CD/DVD image. Creating a
package as an ISO image allows you to install a
virtual appliance using a CD ROM drive. This type of
archive is called an ISO because it was created by the
International Standards Organization’s 9660 standard.
FLP (.flp) Floppy Disk Image File Use this format if you need to transfer data from a
floppy drive or to the virtual machine floppy drive. See
the VMware Knowledge Base for FLP information.
VMware by Broadcom 37
OVF Tool User Guide
Use the OVF Tool with the Target Type option to specify the target out as OVF, OVA, VMX, VI,
vCloud, ISO, FLP, vApprun.
In this following example, the target type is set to the ‘vmx’ or VMware runtime format (.vmx
and .vmdk files)
VMware by Broadcom 38
OVF Tool User Guide
Because the source is an OVF package, you can specify it as a URL or a local file path.
If you convert an OVF package to a VMX format without specifying the target directory, OVF
Tool creates a directory using the OVF package name and writes the .vmx and .vmdk files in it.
You can also convert from an ovf format to a vmx format using a URL, as shown:
VMware by Broadcom 39
OVF Tool User Guide
or
--prop:<option>=<value>
This example sets two properties: the administrator’s email address and the number of
concurrent sessions.
VMware by Broadcom 40
OVF Tool User Guide
If the OVF descriptor only specifies one network name, you can specify the target network name
of the network mapping, as in the following example:
If the source contains only a single virtual machine, the --makeDeltaDisks option does not yield
any compression boost. In this case, the --compress=9 option gives maximum compression.
VMware by Broadcom 41
OVF Tool User Guide
maximum size. The default measurement is megabytes (keyword mb). You can specify other units
using one of the following keywords:
Unit Keyword
Bytes b
Kilobytes kb
Gigabytes gb
For example, to create an OVF package optimized for a FAT32 file system, use the following
command:
Each file chunk has a sequentially numbered suffix. For example, for a 6GB disk, the chunks have
these names:
If you want a VM to contain a vTPM device, you can either create it as a placeholder in the OVF
and have it auto configured, or you add the vTPM device after OVF import.
1 Prepare the guest VM for vTPM removal by ensuring that none of its applications are using
the vTPM device, such as BitLocker, etc.
2 Remove the vTPM device from the VM. The VM home will be decrypted unless there is a
feature or policy that requires encryption.
3 If it was encrypted, decrypt the VM. OVF export does not work on encrypted VMs, so the VM
must be decrypted before export.
n Using ovftool (recommended) you can add a vTPM placeholder in the destination OVF
descriptor with the addDevice:vtpm option. This option creates the vTPM placeholder
in the destination OVF descriptor (file.ovf) and calculates the proper manifest file
checksum. For example:
VMware by Broadcom 42
OVF Tool User Guide
n Using the vSphere Client UI (more difficult) you can export the VM to an OVF template.
After export, open the OVF descriptor file (file.ovf) and manually add a vTPM device
placeholder, as below.
You must also open the OVF manifest file (.mf) and fix the SHA256 checksum for the .ovf
file. Because you manually edited the OVF descriptor file, the checksums in the OVF
manifest are no longer correct. You must recalculate the checksum for the .ovf file and
manually set it in the manifest file.
(Optional) Re-sign the OVF template if it should be security signed. Perform this step after
editing the .ovf and .mf files.
<Item ovf:required="false">
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:ElementName>Virtual TPM</rasd:ElementName>
<rasd:InstanceID>13</rasd:InstanceID>
<rasd:ResourceSubType>vmware.vtpm</rasd:ResourceSubType>
<rasd:ResourceType>1</rasd:ResourceType>
</Item>
5 Import the OVF to VSphere. You can do this with ovftool. Upon importing the VM, the vTPM
device will be auto-provisioned, and a unique Endorsement Key (EK) will be generated.
Note The OVF descriptor will contain a placeholder for a vTPM device, which does not contain
any secrets. The actual EK will be set upon when creating a VM from this OVF template upon
import.
2 Remove the vTPM device from the VM. The VM home will be decrypted unless there is a
feature or policy that requires encryption.
3 If it was encrypted, decrypt the VM. OVF export does not work on encrypted VMs, so the VM
must be decrypted before export.
4 Export the VM. You can do this either with the vSphere Client UI or with ovftool.
n Unless the OVF contains a vTPM placeholder, import using the ovftool --
addDevice:vtpm option. Specifying this option on the command line creates a vTPM
device attached to the destination VM. If the OVF contains a vTPM placeholder, you
do not need the --addDevice option. The placeholder will automatically become a vTPM
device on the imported VM.
n With the vSphere Client, import the VM. After importing the VM, you can add a vTPM
device manually using the vSphere Client.
VMware by Broadcom 43
OVF Tool User Guide
If your host has multiple data stores, select with -ds option:
See also Run OVF Tool With ESXi and vCenter Target Locations.
Pull mode speeds up file transfers and allows for quicker deployments of Virtual Machines. It
enables an option in which OVF source files (VMDKs and others) are copied directly to ESXi from
HTTP(S) source without going through ovftool.
Pull mode is actually a capability of ESXi hosts that ovftool takes advantage of. If property
pullModeSupported is true in the HttpNfcLease managed object, then pull mode is triggered for
deployments using the --pullUploadMode flag. Here are caveats for this option:
n The ESXi host must have access to HTTP(S) source, and permission to view the source files.
n The source must be HTTP(S) and not a filesystem based URL, for example http://
www.example.com:80/path/to/package.ova or https://www.example.com:443/path/to/
package.ova
n The ESXi host validates the source HTTP server before access, so the Thumbprint of the
HTTP source server should be supplied. If the Thumbprint is not supplied the ESXi host may
or may not be able to validate the server. If the source HTTP server is not known to the ESXi
then source validation fails and deployment fails also.
n Validation described in last step, with Pull mode, cannot be suppressed with the --
noSSLVerify flag.
n Flag --verifyViTargetManifest will not work with Pull mode due to the way checksum of
the transferred file is done. In Pull mode ovftool is not involved in transferring the file so it
cannot calculate the checksum and compare it to what the manifest shows.
VMware by Broadcom 44
OVF Tool User Guide
Syntax and example of working command (final two lines are continuations):
To deploy an OVF package into a vApprun workspace, simply use a target locator that points to
your vApprun workspace, as shown in the following example:
A common scenario is that the current directory is the vApprun workspace (since all vApprun
commands are relative to this), so you can just use a “.” as the target locator, as shown in the
following example:
VMware by Broadcom 45
OVF Tool User Guide
(Imports an OVF from http into a vCloud instance and names the vApp myVapp)
(This imports an OVF from http into a vCloud instance and creates a vApp template)
VMware by Broadcom 46
OVF Tool User Guide
Note This option does not perform a shutdown of the operating system. This is only a power off
operation.
Prepend the name of the entity to export to the path. If the current directory is the vApprun
workspace, you only specify the name, as shown in the following example. This example takes
advantage of the fact that any source locator can be used with any destination locator. Thus, the
vApp transfers directly from the vApprun workspace to the vCenter installation.
Note vApprun does not keep the same level of meta-data around as vSphere. Thus, the
vApprun-created OVF packages will not contain any EULAs, description of properties, and such.
VMware by Broadcom 47
OVF Tool User Guide
If everything is correct, OVF Tool shows the result of probing OVF. Otherwise, it shows warnings
and errors.
Important Being compliant with OVF 1.0 or 1.1 is only part of the requirements for a valid OVF
package. Schema validation does not check for all the requirements specified in the OVF 1.0 and
OVF 1.1 specifications.
Using a Proxy
You can specify a proxy for the OVF Tool. The following examples show the use of the --proxy
option:
The OVF Tool allows proxies that require authentication. Credentials are supplied in the proxy
path as shown in the following example:
If you omit the username or password for a proxy server that requires authentication, OVF Tool
prompts for them. The --proxy option enables a proxy for either vSphere (VI) or vCloud.
VMware by Broadcom 48
OVF Tool User Guide
You can also power on the newly written virtual machine or vApp at the same time. In the
following example, the target machine is powered off and deleted, the package.ovf is imported,
and the imported virtual machine or vApp is powered on.
VMware by Broadcom 49
OVF Package Signing
4
A valid OVF signature requires two special files, a manifest (.mf) file that contains the SHA
hash codes of all the files in the package (except the .mf and .cert files), and a certificate file
(.cert) that contains the signed SHA of the manifest file and the X.509 encoded certificate. This
appendix specifies how to use OpenSSL and VMware OVF Tools commands to sign and validate
OVF packages.
Digital signatures work by proving that a message or document was not modified (intentionally
or unintentionally) from the time it was signed. Digital signatures do this by generating a unique
hash of the message or document and encrypting it using the sender's private key. For more
information, see Understanding Digital Signatures at the cisa.gov website.
OVF Tool helps in distributing virtual appliances by performing all required operations to digitally
sign an OVF package. Operation steps include:
1 Calculate the SHA hashes of each file (OVF file, VMDK files, and so on).
2 Create a manifest file and store the calculated SHA hashes from the previous step.
3 Use the vendor's private key to digitally sign the manifest file's content thereby producing a
digital signature.
4 OVF Tool then stores the digital signature from the previous step in the cert file. OVF Tool
also stores the vendor's public key in the cert file for client side signature verification.
VMware by Broadcom 50
OVF Tool User Guide
The steps above can also be done using the openssl tool.
Note SHA1 is no longer considered secure. SHA256 and above should be used instead. See the
--shaAlgorithm command line option.
When a customer receives the vendor's OVF package, they can perform the following steps to
verify integrity of the OVF package contents:
1 Customer uses the public key in the cert file to verify (for example with openssl) the
signature of the manifest file content in the cert file, checking that the signature matches
the manifest file contents.
2 Customer uses SHA hashes in the (now verified) manifest file to verify (with openssl) that the
OVF file hash and the VMDK file hash match those in the manifest file. This proves that the
files have not been corrupted or tampered with since the vendor published them.
OVF Tool can perform the above steps automatically and does so by default if a .cert file is
found in the OVF package.
Note If option --requireSignature is passed to the OVF Tool command, the .cert and .mf files
must exist in the OVF package and they must be valid.
VMware signs their own appliances. OVF Tool and vCenter Server Appliance have an embedded
copy of the VMware public key to verify digital signatures of those products.
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:1024 -keyout myself.pem -out myself.pem
VMware by Broadcom 51
OVF Tool User Guide
...
-----END CERTIFICATE-----
To display the contents of a .pem file at the command line, type the following:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
....
To create a trusted certificate, use the OpenSSL command, omitting the -x509 option. This
creates a certificate request in a .pem file that you can send to any public authority such as
Verisign.
Signing an OVF package requires a .pem file that contains a private key and a certificate, as
shown in section Creating an RSA Public/Private Key Pair and Certificate.
To sign a generated OVF package, include the --privateKey option. The option syntax is shown in
the following example:
> ovftool --privateKey=<path to .pem file> <source> <output OVF or OVA file>
When this option is used, OVF Tool uses the private key and certificate to generate a signature
based on the SHA digest of each file that is included in the OVF package, including the OVF
descriptor itself.
OVF Tool generates an additional .cert file with a signed SHA signature and the certificate used
to sign it. Certificate File Created by OVF Tool shows an example of the .cert file generated by
OVF Tool.
VMware by Broadcom 52
OVF Tool User Guide
BAYTAkRLMQ8wDQYDVQQHEwZBYXJodXMxFTATBgNVBAoTDFZNd2FyZSwgSW5jLjEM
MAoGA1UECxMDVklNMREwDwYDVQQDEwhLcmlzdGlhbjEhMB8GCSqGSIb3DQEJARYS
a2xhc3NlbkB2bXdhcmUuY29tMB4XDTA5MDMwNjEzMDUwNFoXDTEwMDMwNjEzMDUw
NFoweTELMAkGA1UEBhMCREsxDzANBgNVBAcTBkFhcmh1czEVMBMGA1UEChMMVk13
YXJlLCBJbmMuMQwwCgYDVQQLEwNWSU0xETAPBgNVBAMTCEtyaXN0aWFuMSEwHwYJ
KoZIhvcNAQkBFhJrbGFzc2VuQHZtd2FyZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAM2xxX9a1YITiiRrxpXGg9xbEP4Oepcs71ZcNp8Z3mQIb95mpEc6
SZemmjOsqwpkvV/82RALOBgmJ/hot1noSkiAZi0liPmX1M0BU3OS/pSim7VNKBmV
SUJfOC4T6/MygVpyfkSUhB5EWx0JCUvowRex6Ytl220MOGcXnLpvdfO9AgMBAAGj
gd4wgdswHQYDVR0OBBYEFM2KkX7pWTQmMg+iD6HWMOZRLrfJMIGrBgNVHSMEgaMw
gaCAFM2KkX7pWTQmMg+iD6HWMOZRLrfJoX2kezB5MQswCQYDVQQGEwJESzEPMA0G
A1UEBxMGQWFyaHVzMRUwEwYDVQQKEwxWTXdhcmUsIEluYy4xDDAKBgNVBAsTA1ZJ
TTERMA8GA1UEAxMIS3Jpc3RpYW4xITAfBgkqhkiG9w0BCQEWEmtsYXNzZW5Adm13
YXJlLmNvbYIJAKDgFLg9WvBwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
gYEANaNxv4QrN7iI0rDCordYDh1G7Z3jl28ntSoxehGmz6ghYAfBNhTVhWUZuX9X
UXKn8QltOF/Ynijuo6JTJwO/5V1o6TAaCmFahDW/Om02AXPdSbw4UQdidGmmgrAs
DYVQz2CNPk2YbkXITNeGBNHomTqsVU7MGDjReu96+V6O2zY=
-----END CERTIFICATE-----
To quickly validate the authenticity of an OVF package, use the probe mode as shown in the
following example:
VMware by Broadcom 53
Using OVF Tool Probe Mode
5
Read the following topics next:
To use the probe feature, omit the target locator when invoking OVF Tool. For example, type:
ovftool LAMP.ovf at the command line. OVF Tool displays all available information about the
LAMP.ovf package.
When probe mode is used on an OVF or OVA package, OVF Tool also validates the certificate
file, if present. As of vSphere 8.0 U2, OVF Tool probe mode also detects and handles the virtual
TPM (vTPM) device.
As part of the information displayed in probe mode, the EULA is displayed by default. To prevent
the EULA from displaying, use the --hideEula option.
Annotation: This vApp offers the programming environment stack: Linux, Apache,
MySQL and PHP programming environment -- LAMP. More specifically
the vApp contains a Database server running MySQL and Web server
VMware by Broadcom 54
OVF Tool User Guide
Deployment Sizes:
Flat disks: 16.00 GB
Sparse disks: Unknown
Networks:
Name: VM Network
Description: The VM Network network
Virtual Hardware:
Family: vmx-04
Disk Types: SCSI-lsilogic
Properties:
Key: db_ip
Label: IP address
Type: ip:VM Network
Description: The IP address of the database server.
Key: ws_ip
Label: IP address
Type: ip:VM Network
Description: The IP address of the Web server.
IP Allocation Policy:
Schemes: ovfenv dhcp
Protocols: IPv4
VMware by Broadcom 55
Using OVF Tool Machine Mode
6
Read the following topics next:
n Example Output
OVF Tool inserts a blank line to signal the end of an operation. Each response line is prefixed
with a plus (+) to avoid confusion with the terminating blank line. The last status it sends is always
RESULT. OVF Tool sends all output, including errors and warnings, to standard output (stdout) so
clients can listen on only one stream.
VMware by Broadcom 56
OVF Tool User Guide
TARGET_ID Text, for example SugarCRM.ovf or Shows the target ID after upload
vim.VirtualMachine:vm-415. and download finishes.
To run the machineOutput option in probe mode, you run the following command.
To run the machineOutput option in validate host mode, you run the following command.
For an example, see Output from Running machineOutput in Validate Host Mode.
VMware by Broadcom 57
OVF Tool User Guide
To use machine mode to upload an OVF to vSphere, you run the following command.
ovftool.exe --machineOutput \
--acceptAllEulas \
--I:morefArgs \
--I:targetSessionTicket=<session ticket> \
--net:<ovf netname>=vim.Network:<moref-id> \
--datastore=vim.Datastore:<moref-id> \
--vmFolder=vim.Folder:<moref-id> \
--deploymentOption=<value> \
--diskMode=<value> \
--ipAllocationPolicy=<value> \
--ipProtocol=<value> \
--name=<value> (optional) \
--overwrite (optional) \
--powerOffTarget (optional) \
--powerOn (optional) \
--prop:<key>=<value> \
<src URL or PATH> \
vi://<servername>?moref=vim.ResourcePool:<moref-id>
VMware by Broadcom 58
OVF Tool User Guide
To use machine mode to download an OVF from vSphere, you run the following command.
ovftool.exe --machineOutput \
--I:sourceSessionTicket=<session ticket> \
-tt <OVA or OVF> \
-n=<name> \
--overwrite (optional) \
--powerOffSource (optional) \
--chunkSize=<value> (optional) \
--compress=<value> (optional) \
vi://<servername>?moref=<type>:<moref-id> \
<directory>
When you specify --machineOutput, OVF Tool monitors STDIN, and cancels the operation if it
reads the ABORT\n line in stdin.
Example Output
You can run the OVF Tool machine mode --machineOutput option in probe mode, validate
host mode, or import mode. In import and validate Host modes, --machineOutput is meant for
third party program to use silently without any interactive prompt appearing in the standalone
OVF tool command console. If your OVF file contains EULA information, you should add this
option --acceptAllEulas so that the program doesn’t pause to wait for acceptance of the
license agreement. This section contains the following topics:
VMware by Broadcom 59
OVF Tool User Guide
+ </name>
+ <productUrl>
+ http://example.com/ovf/1.0/LAMP/readme.txt
+ </productUrl>
+ <version>
+ 0.1
+ </version>
+ <fullVersion>
+
+ </fullVersion>
+ <vendor>
+ VMware
+ </vendor>
+ <vendorUrl>
+
+ </vendorUrl>
+ </productInfo>
+ <annotation>
+ This vApp offers the programming environment stack: Linux, Apache, MySQL and PHP
programming
environment -- LAMP. More specifically the vApp contains a Database server running MySQL and
Web
server VM running Apache2 and PHP.
+ </annotation>
+ <eulas>
+ <eula>
+
+ Eula for OVF
+
+ </eula>
+ </eulas>
+ <sizes>
+ <download>
+ 633412608
+ </download>
+ <flat>
+ 17179869184
+ </flat>
+ <sparse>
+ Unknown
+ </sparse>
+ </sizes>
+ <networks>
+ <network>
+ <name>
+ VM Network
+ </name>
+ <description>
+ The VM Network network
+ </description>
+ </network>
+ </networks>
+ <properties>
+ <property>
+ <classId>
VMware by Broadcom 60
OVF Tool User Guide
+
+ </classId>
+ <key>
+ db_ip
+ </key>
+ <instanceId>
+
+ </instanceId>
+ <category>
+
+ </category>
+ <label>
+ IP address
+ </label>
+ <type>
+ ip:VM Network
+ </type>
+ <description>
+ The IP address of the database server.
+ </description>
+ <value>
+
+ </value>
+ </property>
+ <property>
+ <classId>
+
+ </classId>
+ <key>
+ ws_ip
+ </key>
+ <instanceId>
+
+ </instanceId>
+ <category>
+
+ </category>
+ <label>
+ IP address
+ </label>
+ <type>
+ ip:VM Network
+ </type>
+ <description>
+ The IP address of the Web server.
+ </description>
+ <value>
+
+ </value>
+ </property>
+ </properties>
+ <deploymentOptions>
+ </deploymentOptions>
+ <ipAllocationSchemes>
+ ovfenv,dhcp
VMware by Broadcom 61
OVF Tool User Guide
+ </ipAllocationSchemes>
+ <ipProtocols>
+ IPv4
+ </ipProtocols>
+ </probeResult>
RESULT
+ SUCCESS
PROGRESS
+ 0
TARGET_ID
+
RESULT
+ SUCCESS
VMware by Broadcom 62
OVF Tool User Guide
PROGRESS
+ 0
+ 1
+ 2
+ 3
....
+ 98
+ 99
+ 100
TARGET_ID
+ vim.VirtualApp:resgroup-v61
RESULT
+ SUCCESS
PROGRESS
+ 0
+ 1
+ 2
+ 3
...
+ 98
+ 99
+ 100
TARGET_ID
+ /tmp/LAMP.ovf
RESULT
+ SUCCESS
VMware by Broadcom 63