vSAN ESA HCL Check on Nested ESXi: Mock Hardware VIB for Labs (Unsupported)

Why nested ESXi fails the vSAN ESA HCL check in vCenter and VCF, how the community mock VIB works, and how to install or remove it. Lab only.

Short answer: When you enable vSAN ESA from vCenter or VCF, the hosts are validated against the vSAN ESA hardware compatibility list, and the virtual NVMe devices of a nested ESXi VM are not on it. William Lam’s community VIB installs a mock hardware description so the check passes. Set the host acceptance level to CommunitySupported, install the VIB, and restart vsanmgmtd. It is unsupported and meant for nested labs only.

Why nested ESXi fails the vSAN ESA HCL check

vSAN ESA is stricter than OSA about hardware. Broadcom’s vSAN ESA ReadyNode hardware guidance expects hosts built from certified components, with NVMe devices attached directly to PCIe. When you create an ESA cluster, vCenter and the VCF installer compare each host’s storage devices with the vSAN HCL database. A nested ESXi VM with a virtual NVMe controller presents devices that no real HCL entry matches, so the validation fails and the VCF workflow stops.

Check first: is the vSAN HCL DB up to date?

On physical hardware, the same symptom can simply mean an old HCL database. Broadcom KB 412606 describes the VCF 9 installer failing with No vSAN ESA certified disks found on the ESXi Host when all.json is older than 90 days. The fix is to download the current file from https://vvs.broadcom.com/service/vsan/all.json and place it on the installer appliance:

# mv /nfs/vmware/vcf/nfs-mount/all.json /nfs/vmware/vcf/nfs-mount/vsan-hcl
# chown vcf_lcm:vcf /nfs/vmware/vcf/nfs-mount/vsan-hcl/all.json

Then click Re-run Validations. In vCenter, upload the same file via the vSAN HCL DB up-to-date health finding and Update From File, as described in KB 315556. If the hosts are nested, an up-to-date database will still not list virtual NVMe, and that is where the mock VIB comes in.

What the mock VIB does

The nested-vsan-esa-mock-hw-vib project packages a stress.json file into a VIB. The file describes mock vSAN ESA hardware for a nested ESXi VM with an NVMe storage controller, and the vSAN management service uses it during the HCL pre-check. Nothing changes in vCenter or VCF. Prebuilt VIB and offline bundle files are on the project’s Releases page; the repository also contains a Docker-based build script.

Install with ESXCLI

Copy the VIB to the nested host and run:

esxcli software acceptance set --level CommunitySupported
esxcli software vib install -v /nested-vsan-esa-mock-hw.vib --no-sig-check
/etc/init.d/vsanmgmtd restart

With the offline bundle, use esxcli software component apply -d /nested-vsan-esa-mock-hw-offline-bundle.zip --no-sig-check instead of the second line. No reboot is required; the vsanmgmtd restart is.

Install with vSphere Lifecycle Manager

  1. Import the offline bundle in Lifecycle Manager > Actions > Import Updates.
  2. Edit the cluster image, add the Nested vSAN ESA Mock HW component and save.
  3. Remediate the cluster, then restart vsanmgmtd on each host.

The image-based approach keeps the component on the hosts after remediation and is the practical choice when you rebuild nested labs often.

Remove it

esxcli software vib remove -n nested-vsan-esa-mock-hw
# or, if installed as a component:
esxcli software component remove -n nested-vsan-esa-mock-hw

Support status: lab only

This is a community tool, not a Broadcom product. Per Broadcom’s acceptance level documentation, CommunitySupported VIBs have not gone through a VMware-approved testing program and are not supported by VMware Technical Support or partners. Lowering the acceptance level also weakens host security. Do not use it on production hosts, and never use it to make unsupported physical hardware pass the ESA check: the HCL exists because ESA performance and data integrity depend on certified devices.

For building the lab itself, see my notes on deploying a minimal VCF 9.0 lab and the esxcli commands for ESXi 8.0.

Further reading

vExpert Program Value & Application Process -…

vExpert Program Value & Application Process -…

Applications for the 2025 vExpert program are now open, with the application deadline newly extended to January 24th, 2025. The vExpert awards are expected to be announced in mid to late February. In this blog post, I will dive into the value of being a vExpert, what it takes to earn the award […]


Broadcom Social Media Advocacy

Using Log Assist in Skyline Health Diagnostics

Using Log Assist in Skyline Health Diagnostics

Using Log Assist in Skyline Health Diagnostics

Skyline Health Diagnostics makes extracting and uploading Support Log Bundles to your Support Request case a one step process with “Log Assist”. Formerly in Skyline, this feature has now migrated to the brilliant Skyline Health Diagnostics Appliance.


Broadcom Social Media Advocacy

vCenter Server Identity Federation with…

vCenter Server Identity Federation with Authentik Identity Provider

vCenter Server Identity Federation with…

While answering a recent question on the VMware Reddit Community, I came to learn about Authentik, an open source identity provider (IdP), which is pretty feature rich and best of all, you can self-host the Authentik IdP solution. While Authentik is not one of the officially supported Identity Providers for vCenter Server Identity Federation such […]


Broadcom Social Media Advocacy