WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple
You are here: Home / VMware Cloud Foundation / vSAN ESA Disk & HCL Workaround for VCF 9.0

vSAN ESA Disk & HCL Workaround for VCF 9.0

06.19.2025 by William Lam // Leave a Comment

vSAN ESA (Express Storage Architecture) has become the preferred architecture when deploying VMware Cloud Foundation (VCF). For those interested in exploring vSAN ESA with VMware Cloud Foundation (VCF) 9.0 but may not have compatible hardware from the vSAN ESA HCL, there are a couple of workarounds that you might want to be aware of.

Disclaimer: This is not officially supported by Broadcom, please use at your own risk. For production deployments, you should be using supported vSAN ESA Hardware which you can refer to Broadcom Compatibility Guide (BCG)

There are potentially two scenarios you may come across when using vSAN ESA to deploy your initial and/or extending your VCF Fleet.

Scenario 1

The first scenario is that you have vSAN ESA Disk/Controllers that are not found on the vSAN ESA HCL and you get an error message with "No vSAN ESA certified disks found" which will prevent the deployment from proceeding.


The workaround here is quite simple by leveraging my existing vSAN ESA Hardware Mock VIB, which is compatible with both VCF 5.x and 9.0 and this solution applies to both physical and virtual (Nested) ESXi hosts. Once you have installed the VIB and restarted the vSAN Management Service on the ESXi, you can then re-run the validation to proceed.

Scenario 2

The second scenario that you may potentially come across is that even after applying the workaround from scenario 1, you might still see an error stating the ESXi hosts are not on the vSAN HCL. The reason for this is that there is an additional check performed by the VCF Installer to compare the current time with the last updated time the embedded vSAN HCL JSON which is shipped with the VCF Installer.


If the current date/time is greater than 90 days and an updated vSAN HCL JSON can not be downloaded, then you may see an error as shown in the screenshot above. While the embedded vSAN HCL JSON has a date of Feb 18, there is usually newer vSAN HCL JSON files that will be pulled automatically using the VCF Online Depot or if you include an updated version your VCF Offline Depot. The primary reason why this could occur is if you are using VCF Offline Depot and you somehow did not include vSAN HCL JSON within your files and the VCF Installer defaults to the embedded version which is certainly greater than 90 days as of writing this blog post.

Option 1 (Easy) - One workaround is to simply replace the embedded vSAN HCL JSON that is included with the VCF Installer under /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json with latest version, which you can download from HERE.

Option 2 (Harder) - If for whatever reason you can not, then alternatively you can manually update the date/time of the embedded vSAN HCL JSON under /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json to ensure it is less than 90 days.

There are two fields that we need to modify in the JSON file:

  • timestamp - Last updated of the JSON file represented as epoc time (PST timezone)
  • jsonUpdatedTime - Last updated of the JSON file represented as formatted date/time (PST Timezone)

The easiest value to use is the current date and time and we can use the date utility in Linux to generate our value:

TZ="America/Los_Angeles" date +%s

which would return something like: 1749134355

To generate the second string, we need to use the same input and again, using the date utility, we can format the value to what we need:

TZ="America/Los_Angeles" date -d @1749134355 +"%B %-d, %Y, %-I:%M %p PST"

which would return something like: June 5, 2025, 7:39 AM PST

Since the all.json is a very large file and manually editing the file can be error prone, I have asked ChatGPT to provide a one-liner sed command to perform the replacement which you can simply copy and run this directly on the VCF Installer

newTimestamp=$(TZ="America/Los_Angeles" date +%s)
newJsonUpdatedTime=$(TZ="America/Los_Angeles" date -d @${newTimestamp} +"%B %-d, %Y, %-I:%M %p PST")

cp /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json.bak
sed -i -E "s/\"timestamp\":[0-9]+/\"timestamp\":${newTimestamp}/; s/\"jsonUpdatedTime\":\"[^\"]*\"/\"jsonUpdatedTime\":\"${newJsonUpdatedTime}\"/" /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json

For both scenarios, there are no additional services that need to be restarted on the VCF Installer, simply re-run the validation and these errors will now go away.

More from my site

  • Crowdsourced Lab Hardware for ESXi 9.0 Dashboard
  • VCF 9.0 Installer workaround for ESXi hosts with different vendor
  • NVMe Tiering with AMD Ryzen CPU workaround for VCF 9.0
  • Disable 10GbE NIC Pre-Check in the VCF 9.0 Installer
  • Minimal resources for deploying VCF 9.0 in a Lab

Categories // VMware Cloud Foundation, VSAN Tags // ESXi 9.0, VCF 9.0, VSAN 9.0

Thanks for the comment!Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

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
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • VCF 9.0 Installer workaround for ESXi hosts with different vendor 06/19/2025
  • NVMe Tiering with AMD Ryzen CPU workaround for VCF 9.0 06/19/2025
  • vSAN ESA Disk & HCL Workaround for VCF 9.0 06/19/2025
  • Disable 10GbE NIC Pre-Check in the VCF 9.0 Installer 06/19/2025
  • Minimal resources for deploying VCF 9.0 in a Lab 06/18/2025

Advertisment

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 © 2025

 

Loading Comments...