WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
    • VMware Cloud Foundation 9.1
    • VMware Cloud Foundation 9.0
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

Search Results for: ovftool

Quick Tip - Useful ovftool debugging options

08.16.2013 by William Lam // 7 Comments

This morning I needed perform several OVF uploads using ovftool and provide that information to engineering to investigate some performance issues. I tend to error on the side of providing more information than requested. The ovftool provides some really useful debugging options that are really handy in these situations but are un-documented. I can never seem to remember the exact syntax and hence I am documenting them here. I will also file a documentation bug to ensure these get added 🙂

UPDATE (08/19/13) - Thanks to one of the OVF engineers, it turns out you can see all the debug options and their definitions by running ovftool --help debug

The two options that I am referring to are:

--X:logFile=
--X:logLevel=

The first option allows you to log the entire ovftool session to a file which you can then send off to someone and the second option allows you to control the verbosity of the logs which I normally set to use verbose.

Here is an example of how you would use these ovftool options:

/Applications/VMware\ OVF\ Tool/ovftool --X:logFile=upload.log --X:logLevel=verbose -ds=mini-local-datastore-2 '--net:Network 1=VM Network' VMware-vCenter-Server-Appliance-5.1.0.10200-1235310_OVF10.ova vi://root@mini

Once the ovftool has completed its operation, you can take a look at the log and you will see quite a bit of information including some additional ovftool options that can be specified on the command-line which start with /X:

--> /X:httpTimeout = "0"
--> /X:imageReadSize = "262144"
--> /X:logFile = "upload.log"
--> /X:logLevel = "verbose"
--> /X:maxNumberOfTermSignals = "5"
--> /X:maxRedirects = "256"
--> /X:maximalDeltaConfSize = "8"
--> /X:maximalDeltaTreeSize = "6"
--> /X:progressSmoothing = "60"
--> /X:useMacNaming = "true"
--> /X:vCloudEnableGuestCustomization = "false"
--> /X:vCloudKeepTemplate = "true"
--> /X:vCloudTimeout = "3600"
--> /X:vimSessionTimeout = "600"

Note: I would not recommend tweaking the other options as the defaults should be sufficient, but logging to a file or upping the verbosity can be useful for troubleshooting

Categories // OVFTool Tags // debug, log, ovf, ovftool

How to Deploy an OVF Located On ESXi Datastore Using ovftool

03.11.2012 by William Lam // 43 Comments

I have written several articles in the past about the awesome ovftool which is a versatile remote command-line utility for importing/exporting virtual machines in the OVF format across various VMware products. I mainly run ovftool in either the vMA or on my OSX desktop. When performing an import, the OVF files are local on the same system that has the ovftool installed.

I recently came across an interesting question about using the ovftool to deploy OVF files that are located on an ESXi datastore. My initial thought was that you would not be able to deploy the OVF files since the ovftool would not have access to the files locally. After finishing a recent article about ESXi datastore management using the vCLI's vifs utility, I then realized there might actually be a way to deploy OVF files that are stored on an ESXi datastore.

If you take a look on page 17 of the ovftool user guide, there is a table describing the various source locators that are supported. You can see that the source of an OVF file can be accessed by ovftool in 4 different methods including HTTP/HTTPs which is a key for this specific request.

Source Type Default File Extension Protocol
OVF .ovf File, HTTP, HTTPS, FTP
OVA .ova File, HTTP, HTTPS, FTP
VMX .vmx File
vvApprun N/A File
vCloud Director N/A HTTPS
vSphere N/A vSphere

Files and folders management for a datastore is exposed through the fileManager in the vSphere API and datastores are referenced as a URL or remote path.

A URL has the form

scheme://authority/folder/path?dcPath=dcPath&dsName=dsName

where

  • scheme is http or https.
  • authority specifies the hostname or IP address of the Center or ESX(i) server and optionally the port.
  • dcPath is the inventory path to the Datacenter containing the Datastore.
  • dsName is the name of the Datastore.
  • path is a slash-delimited path from the root of the datastore.

Putting all this together, you can use the ovftool remotely to deploy an OVF file that is stored on an ESX(i) datastore. Below is an example walk through of this process.

Here is an OVF that is stored on a datastore located on an ESXi host:

To identify the URL path to your OVF, you can use a web browser to assist. Point your browser to the following address: https://[ESXI_HOST]/folder

When you first login, you will be brought to the root datacenter, in the case of directly connecting to an ESX(i) host, you will only see "ha-datacenter". Go ahead and select it and then you will be brought to a list of datastores the host has access to.

Select the datastore which contains the OVF file you wish to deploy from and then browse to the specific file.

Make a note of the URL path used to get to the OVF file and the OVF filename itself. Taking the example above, we end up with the following URL path:

https://vesxi50-4.primp-industries.com/folder/MyVM/MyVM.ovf?dcPath=ha-datacenter&dsName=iSCSI-1

To confirm the URL path, we can use ovftool to perform a simple "probe" on our OVF, this will provide you with a quick summary of the OVF.

Next we are ready to import the OVF file to our ESXi host. In this example, we will deploy the OVF to another datastore the ESXi host has access to and configure a specific portgroup to connect to the VM to after deployment. There are various options that can be passed to ovftool, please refer to the ovftool user guide for more details.

One the import has completed, you should now see the VM automatically registered in your ESXi host inventory.

You can see that this method allows you to import an OVF file stored on a datastore locally to the ESXi host as well as an OVF file stored on a remote datastore of another ESXi host. To help manage and deploy your OVF files, you should consider storing them on a centralized "media" datastore or even a WEB/FTP server that can be accessed by the ovftool.

Categories // OVFTool Tags // ova, ovf, ovftool

Automated Deployment of VCF Operations 9 OVA

02.27.2026 by William Lam // 1 Comment

After receiving an email asking about automating the deployment of VCF Operations 9.0 using the OVA image, I remembered that I had previously written a blog post on this topic back in 2014. Revisiting that article, it was clear the content needed to be refreshed, especially the OVF properties used within the script.

Since I have a written (not using AI) numerous deployment scripts over the years, I was able to quickly adapt the VCF Operations 9.0 changes and also enhance it a bit further.

Here is both PowerShell (using PowerCLI) and Bash Script (using OVFTool) to automate the deployment of VCF Operations 9.0 OVA

  • PowerShell - deploy_vcf_operations.ps1
  • Bash - deploy_vcf_operations.sh


In addition to deploying the VCF Operations OVA, it will power on the appliance and wait for the /admin URL endpoint to be ready before completing.

Note: Since the bash script uses OVFTool, there is a hidden OVF property that allows you to enable SSH if you need. This option is not available with the PowerShell script.

For additional VCF Operations configurations post-deployment, you can refer to the VCF Operations API.

Categories // VCF Operations, VMware Cloud Foundation Tags // VCF 9.0

  • « Previous Page
  • 1
  • …
  • 4
  • 5
  • 6
  • 7
  • 8
  • …
  • 30
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • VCF 9.1 - Configuring Harbor to use VCF Identity Broker (IDB) for External Identity Federation 08/19/2026
  • Quick Tip: The Fastest Way to Clear Partitions for ESX Reinstallation 08/15/2026
  • Quick Tip: Reducing High CPU Utilization in VCF Automation (VCFA) on AMD Zen4/Zen5 CPUs 08/12/2026
  • VCF 9.1 - Quick Tip: Optimized Workflow for Configuring Distributed Transit Gateway (DTGW) with NSX Virtual Network Appliance (VNA) 08/11/2026
  • Quick Tip: Selective ESX Host Patching in VCF 9.1 08/10/2026
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2026

Loading Comments...