OVF Tool User Guide
OVF Tool User Guide
OVF Tool User Guide
You can find the most up-to-date technical documentation on the VMware website at:
https://docs.vmware.com/
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
©
Copyright 2009-2020 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc. 2
Contents
VMware, Inc. 3
OVF Tool User’s Guide
VMware, Inc. 4
OVF Tool User’s Guide
VMware, Inc. 5
About This Book
This OVF Tool User’s 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
A revision occurs with each release of the product, or as needed. A revised version can contain minor or
major changes. Table 1-1. Revision History lists the versions of this manual.
04/2020 Updated with new flags and features for vSphere 7.0 release.
05/2018 OVF Tool 4.3.0 User’s Guide. Large upload retry, SHA digest fix, NVM and PMEM, Curl update, better
logging, VBS and TPM support.
10/2016 OVF Tool 4.2.0 User’s Guide. 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.
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.
VMware, Inc. 6
OVF Tool User’s Guide
Document Feedback
VMware welcomes your suggestions for improving our documentation. If you have comments, send your
feedback to [email protected].
To post questions about OVF Tool, go to the OVF Tool Forum at http://code.vmware.com/forums/3086#.
Support Offerings
To find out how VMware support offerings can help meet your business needs, go to http://
www.vmware.com/support/services.
VMware, Inc. 7
1
Overview of the OVF Tool
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.
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).
VMware, Inc. 8
OVF Tool User’s Guide
n Metadata inclusion. Additional metadata, such as an end-user license agreement, can be packaged
with the OVF and displayed before installation.
n Optimized download from the Internet. Large virtual disks are compressed for fast download and to
reduce disk space for large template libraries.
n Use the OVF Tool 3.x for vSphere 4.0 and later, vCloud Director 1.5, 5.1, and 5.5, vCloud Director 1.0
(for OVF and OVA types only), vCenter 2.5 and later, ESX 3.5 and later, VMware Server 2, VMware
Workstation 6.0 and later, and VMware Fusion 3.0 and later.
n OVF 0.9 is supported for import and export by VirtualCenter 2.5 and later, and ESX 3.5 and later.
OVF support is built into the vSphere Client that installs from, and is compatible with vCenter 5.0 and
ESXi 5.0, vCenter 4.0 and ESX 4.0. It is also built into the vSphere Client that installs from and is
compatible with VirtualCenter 2.5 and later, and ESX 3.5 and later. The vSphere 5.1 Web Client includes
the 3.x version of the VMware OVF Tool as part of the Client Integration Plug-in.
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: www.vmware.com/support/developer/ovf.
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
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)
VMware, Inc. 9
OVF Tool User’s Guide
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, Inc. 10
OVF Tool User’s Guide
compress an OVF package even more using a technique called delta disk compression. This
compression algorithm is invoked using the --makeDeltaDisks option.
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.
Any number of disks can be combined creating various disk trees and saving more space.
vSphere 4 and later support the deployment of OVF packages that contain delta disk hierarchies.
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.
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, Inc. 11
2
Using the VMware OVF Tool
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 VMware Workstation, ESXi, vCenter Server, vCloud Director or vFabric Data 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, Inc. 12
OVF Tool User’s 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 the VMware 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\
--prop:vami.gateway.VMware_vCenter_Server_Appliance=X.X.X.123\
VMware, Inc. 13
OVF Tool User’s Guide
--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
For every command, you specify the source and target locators. Table 2-1. OVF Tool Definitions of
Source and Target Locators defines each locator type.
VMware, Inc. 14
OVF Tool User’s Guide
<source locator> Path to the source, which must be either 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. Table 2-2. OVF Tool Command-
Line Options shows which source and target types each option works with. If you specify an option using
an irrelevant source or target type, the command does nothing.
Binary options can be enabled or disabled explicitly. For example: --option=true, --option=false.
--acceptAllEulas OVF, N/A Accepts all end-user licenses agreements (EULAs) without being
OVA 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, Inc. 15
OVF Tool User’s 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.
--configFile vSphere vSphere Specifies a configuration file containing long-name options and
settings. Useful for scripting, this overrides the local ovftool.cfg in
the current directory, which overrides the global configuration file in
$HOME/ovftool.cfg on Linux and OS X, or C:\Users\%USER%
\AppData\Roaming\VMware\ovftool.cfg on Windows.
--coresPerSocket Specifies the distribution of the total number of CPUs over a number
of virtual sockets using the syntax --
coresPerSocket:<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.
--decodeBase64 Enables Base64 decoding for values in the OVFTool command line.
--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 value should
defaultStorageRawProfile 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 source OVF
OVA 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.
--disableVerification OVF, N/A Skips validation of signature and certificate. Binary option.
OVA
VMware, Inc. 16
OVF Tool User’s Guide
--diskMode or -dm N/A VMX, Select target disk format. Supported formats are: monolithicSparse,
vApprun,vSphere 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
--exportFlags Specifies the source of an export. The supported values for vSphere
source are: mac, uuid, and extraconfig. The supported value for
vCloud source is preserveIdentity. You can provide one or more
options, separated by commas.
--extraConfig N/A All Sets an ExtraConfig element for all VirtualHardwareSections. This
option applies to vi, vmx, vapprun, vCloud, ovf, and ova source
locators.
The syntax is –:extraConfig:<key>=<value>
--fencedMode vCloud If a parent network exists on a vCloud target, this option specifies the
connectivity to the parent. Possible values are bridged, isolated,
allowIn, allowInOut, allowOut.
--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:morefArgs vSphere vSphere Integration option. Interpret arguments for networks, datastores, and
folders as VIM Managed Object Reference identifiers (type:id) for
vSphere source and destination locators.
--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.
--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. As with
OVA 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.)
VMware, Inc. 17
OVF Tool User’s Guide
--machineOutput N/A N/A Outputs OVF Tool messages in a machine readable format. Binary
option.
--makeDeltaDisks OVF, Must be directory Use delta disk compression to create an OVF package from a disk
vSphere, source. Binary option.
VMX,
vApprun
--multiDatastore:dsk=ds OVF, vSphere Allows multi-disk VM deployment onto separate datastores. Use this
OVA option as many times as needed The VM disk is placed on datastore
ds as follows, where vmname is the name specified by --name option
or in the OVF file, and vmdisk is specified in the OVF disk section by
ovf:diskId.
[ds] vmname/vmdisk1.vmdk
--name or -n N/A All Specifies the target name. Defaults to the source name.
--net OVF, N/A Sets a network assignment in the deployed OVF package. For
OVA 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 place of
OVA the --net option when only one network exists in the OVF package.
This option maps the symbolic OVF name to the specified network
name.
VMware, Inc. 18
OVF Tool User’s Guide
--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 version 4.4 you
can skip source or destination with either --noSourceSSLVerify or
--noDestinationSSLVerify instead.
--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.
VMware, Inc. 19
OVF Tool User’s Guide
--proxy OVF, OVF, OVA, Specifies and enables a proxy for HTTP, HTTPS, FTP, vSphere, and
OVA, vCloud, vSphere vCloud access. The proxy is expressed as the URL to the proxy. For
vCloud, example, for proxy.example.com, the option value is:
vSphere 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 protocol.
OVA, vCloud, vSphere NT LAN Manager is the authentication protocol used on networks that
vCloud, include systems running the Windows operating system and on
vSphere stand-alone systems.
--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 when
OVA reading (probing) or opening a package.
--schemaValidate OVF, N/A Validates OVF descriptor against the OVF schema. Binary option.
OVA
--shaAlgorithm sha1, Use this option to condense with Secure Hash Algorithm (SHA) for
sha256, manifest validation, digital signing, and OVF package creation. Can
sha512 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, VMX,
OVA, vSphere, vCloud, ISO, FLP, or vApprun.
VMX,
VMX, VI,
vCloud,
ISO,
FLP,
vApprun
VMware, Inc. 20
OVF Tool User’s Guide
--targetPEM File path to a Privacy Enhanced Mail (.pem) file used to verify
vSphere connections.
Example: --targetPEM:<filename>.pem
--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, vSphere,
VI, vCloud, ISO, vCloud, ISO, FLP, or vApprun.
FLP, vApprun
--vService OVF, N/A Set a dependency on a vService provider in the OVF package, using
OVA the following syntax:
--vService:<dependencyId>=<providerId>
--verifyOnly All N/A Do not upload the source; just verify it. This applies only to vSphere
4.
--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:skipContentLength N/A N/A Avoids sending the Content-Length header in HTTP(S) requests. This
is the default option for vCloud targets.
--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, Inc. 21
OVF Tool User’s Guide
you need to specify the id in the descriptor file. For example, the id of the VM specified in the descriptor
fragment below is vm1.
<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 need to use the VM ID when specifying the size of the memory for a VM.
> --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>
.......
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).
VMware, Inc. 22
OVF Tool User’s Guide
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 of these 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
Two of the most commonly used options are: --X:logFile and --X:logLevel.
n Use the --X:logFile=<filename> option to log the complete ovftool session to a file
For example, you can use a command similar to this to write the log in a file called ovftool-log.txt:
--X:logLevel=<level> Log level. Valid values are: none, quiet, panic, error, warning, info,
verbose, and trivia).
--X:logTransferHeaderData Add transfer header data to the log. Use with care. Default value is false
The OVF Tool includes 22 other debug options, that you can set to retrieve specific data. You can see all
of the debug options and their definitions by running ovftool --help debug.
VMware, Inc. 23
OVF Tool User’s Guide
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, Inc. 24
OVF Tool User’s 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, Inc. 25
OVF Tool User’s Guide
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.
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>
The server name and port can designate either a vCenter server, VirtualCenter server, VMware Server, or
an ESXi host. If you omit credentials, in which case OVF Tool prompts you for them. Default installations
of vCenter Server, VirtualCenter, and ESXi use port 443. If you are using the default port, you do not need
to specify it. When using OVF Tool against a VMware Server, you must explicitly specify port 8333, which
is the default port for VMware Server.
<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.
VMware, Inc. 26
OVF Tool User’s Guide
Table 2-6. Source and Target Values for All Query Types
Name Query Source Target
Mo-Ref moref Managed object reference (vSphere Managed object reference (vSphere
specific identifier) of a virtual machine specific identifier) of a host, cluster, or
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.
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:
VMware, Inc. 27
OVF Tool User’s Guide
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
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
VMware, Inc. 28
OVF Tool User’s Guide
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.
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.
VMware, Inc. 29
OVF Tool User’s Guide
Remote Datacenter/
Secondary Datacenter/
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.
orgVdc
orgVdc2
VMware, Inc. 30
OVF Tool User’s Guide
catalog
catalog2
"vcloud://jd:[email protected]:443/?org=myOrg&vapp=test1&vdc=orgVdc&catalog=catalog"
Opening OVF source: LAMP.ovf
Warning: No manifest
file
extNet2
extOrgNet
intNet2
intnet
Completed with errors
VMware, Inc. 31
OVF Tool User’s Guide
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
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 a username or
password. For example, a proxy server, a vSphere or vCloud locator, or an authenticated URL require
usernames and passwords. OVF Tool only generates AUTHENTICATION messages for resources where
passwords are not explicitly provided as part of the locator or as command-line arguments.
n source locators
n target locators
n proxyServer
VMware, Inc. 32
OVF Tool User’s 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
PASSWORDSOURCE
password
PASSWORDTARGET
password
PASSWORDPROXY
username password
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, Inc. 33
3
Examples of OVF Tool Syntax
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, Inc. 34
OVF Tool User’s Guide
Table 3-1. Supported File and Package Types for OVF Tool Input and Output
Package Type Full Name Usage
OVF (.ovf) Open Virtualization Format National ANSI standard for packaging software for virtual
machines, originally created by an industry task force known
as 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 files in VMware’s .vmdk disk image format or in 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 is created
Configuration File to store information about the operating system, disk sizes,
networking, and virtual hardware.
Files in this format and the .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. Instructions are
available in Knowledge Base article 1739.
vApprun vApprun This format allows you to run a virtual appliance on VMware
Workstation or Fusion. You can use the OVF Tool to convert
vApps to the vApprun format, and you can use VMware
Workstation to convert vApps to an OVF format.
Use the OVF Tool with the Target Type option to specify the target out as OVF, OVA, VMX, VI, vCloud,
ISO, FLP, vApprun.
VMware, Inc. 35
OVF Tool User’s Guide
In this following example, the target type is set to the ‘vmx’ or VMware runtime format (.vmx and .vmdk
files)
Because the source is an OVF package, you can specify it as a URL or a local file path.
VMware, Inc. 36
OVF Tool User’s Guide
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:
or
VMware, Inc. 37
OVF Tool User’s Guide
--prop:<option>=<value>
This example sets two properties: the administrator’s email address and the number of concurrent
sessions.
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:
VMware, Inc. 38
OVF Tool User’s Guide
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, Inc. 39
OVF Tool User’s Guide
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 your host has multiple data stores, use the -ds option:
See also Run OVF Tool With ESXi and vCenter Target Locations.
VMware, Inc. 40
OVF Tool User’s Guide
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:
(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, Inc. 41
OVF Tool User’s 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.
VMware, Inc. 42
OVF Tool User’s Guide
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.
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:
VMware, Inc. 43
OVF Tool User’s Guide
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.
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, Inc. 44
4
OVF Package Signing
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.
> openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:1024 -keyout myself.pem -out myself.pem
To display the contents of a .pem file at the command line, type the following:
VMware, Inc. 45
OVF Tool User’s Guide
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, Inc. 46
OVF Tool User’s Guide
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, Inc. 47
5
Using the VMware OVF Tool
Probe Mode
To use the probe feature, omit the target locator when invoking OVF Tool. For example, at the command
line, type: ovftool LAMP.ovf. The tool displays all available information about the LAMP.ovf.
When probe mode is used on an OVF or OVA package, OVF Tool also validates the certificate file, if
present.
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
VM running Apache2 and PHP.
VMware, Inc. 48
OVF Tool User’s 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, Inc. 49
6
Using the VMware OVF Tool
Machine Mode
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.
CERTIFICATE Validate, Self-signed, or Failed validate Signals that a certificate is present and
shows the result of the validation.
TARGET_ID Text, for example SugarCRM.ovf or Shows the target ID after upload and
vim.VirtualMachine:vm-415. download finishes.
VMware, Inc. 50
OVF Tool User’s Guide
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, Inc. 51
OVF Tool User’s 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>
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.
VMware, Inc. 52
OVF Tool User’s Guide
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, Inc. 53
OVF Tool User’s Guide
+ 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>
+
+ </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>
VMware, Inc. 54
OVF Tool User’s Guide
+ <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
+ </ipAllocationSchemes>
+ <ipProtocols>
+ IPv4
+ </ipProtocols>
+ </probeResult>
RESULT
+ SUCCESS
VMware, Inc. 55
OVF Tool User’s Guide
PROGRESS
+ 0
TARGET_ID
+
RESULT
+ SUCCESS
PROGRESS
+ 0
+ 1
+ 2
+ 3
....
+ 98
+ 99
VMware, Inc. 56
OVF Tool User’s Guide
+ 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, Inc. 57