Summary
Note: Thanks for using the ESXi Compatibility Checker Tool. This tool will no longer be updated or supported. Please use the new Fling: Solution Designer to validate the ESXi Compatibility.
*************************
The ESXi Compatibility Checker is a python script that can validate VMware hardware compatibility and upgrade issues of ESXi.
VMware hardware compatibility and product interoperability need to be validated when new hardware is installed on an existing ESXi or when a VC/ESXi version needs to be upgraded. Unfortunately, it is not a trivial task as the compatibility information is scattered in multiple web pages. The user needs to understand the data and validate them one by one manually. This process is tedious, laborious and often prone to error when done at scale.
This Fling will provide a simple and easy way to collect server and IO device details from ESXi and provide a command line interface to validate their VMware compatibility and upgrade issues. Users no longer need to understand compatibility details or manually compare the dataset to find out compatibility or upgrade issues. The Fling can generate a compatibility report for many ESXi managed by a VC with a simple command.

Requirements
- Python 3.6 or above
- Pyvmomi 6.5 or above
- crypto
- pyopenssl
Installation steps on Windows
- Download the latest Python package from Python Download.
Install Python Package, select the option to install "pip". - Installl Pyvmoni
python -m pip install pyvmomi - Installl crypto
python -m pip install crypto - Installl pyopenssl
python -m pip install pyopenssl
Instructions
How to Run
------------
1. Install Python and required packages
2. Download compchecker.zip
3. Run the below command from extracted folder
c:\>python compchecker.py -s vc-or-esx-hostname -u username c:\>compchecker.py -h usage: compchecker.py [-h] -s HOST [-o PORT] -u USER [-r] [-v TOVERSION] Standard Arguments for talking to vCenter/ESX optional arguments: -h, --help show this help message and exit -s HOST, --host HOST vSphere service to connect to -o PORT, --port PORT Port to connect on -u USER, --user USER User name to use when connecting to host -r, --report Generate a hardware compatibility report in csv format -v TOVERSION, --toversion TOVERSION Release version to check for the hardware compatibility report. (default is currently installed
Navigate Datacenters and hosts
------------
c:\compchecker>python compchecker.py -s 10.192.XX.XX -u admin Enter password for host "10.192.XX.XX" and user "admin": VMware Compatibility Checker (host:10.192.34.XX, user: admin) > connecting host... > collection host information... [ VMware VirtualCenter Server 6.5.0 (VMware vCenter Server 6.5.0 build-4602587) ] VirtualCenter> datacenters [1] Datacenter MaxNIC [2] Datacenter NextGen ... VirtualCenter> d 1 Datacenter MaxNIC> hosts [1] Host 10.143.XX.XX (datacenter-001): VMware ESX Server 6.5.0 (build:5969303) [2] Host 10.143.XX.XX (datacenter-001): VMware ESX Server 6.0.0 (build:2494585) ... Datacenter MaxNIC> deselect VirtualCenter> hosts [1] Host 10.143.XX.XX (datacenter-001): VMware ESX Server 6.5.0 (build:5969303) [2] Host 10.143.XX.XX (datacenter-001): VMware ESX Server 6.0.0 (build:2494585) ... VirtualCenter> host 2 Host 10.143.XX.XX> hardware [2] Host 10.143.XX.XX9 (datacenter-001): VMware ESX Server 6.0.0 (build:2494585) Server: 'PowerEdge R720' from Dell Inc. CPU Model: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (Feature:0000:0000:0000:0010:0000:0110:1101:0111) UUID: 4c4c4544-0043-4d10-8044-cac04f425a31 (BIOS: 2.1.2) - Physical NICs: vmnic0 - 0000:01:00.0: IO Device 'NetXtreme BCM5720 Gigabit Ethernet' from Broadcom Corporation PCI ID: 14E4:165F:1028:1F5B Driver: tg3 N/A - Storage Adapters: vmhba0 - 0000:00:1f.2: IO Device 'Patsburg 6 Port SATA AHCI Controller' from Intel Corporation PCI ID: 8086:1D02:1028:48C Driver: ahci N/A vmhba1 - 0000:03:00.0: IO Device 'PERC H310 Mini Monolithics' from LSI / Symbios Logic PCI ID: 1000:73:1028:1F51 Driver: megaraid_sas N/A
Validate hardware compatibility of a selected host
------------
Host 10.143.XX.XX> comp -s Host 10.143.XX.XX: May Not Be Compatible [Server: Warnings] Server 'PowerEdge R720' may not be compatible for ESX 6.0.0 [IO: Warnings] Some IO devices may not be compatible for ESX 6.0.0 Compatibility issues: - Server Model 'PowerEdge R720' with Intel Xeon E5-2600-v2 Series (ID:33815) is certified but current CPU Series (features:0x206d7) is not supported Certified BIOS versions are higher than 2.1.2 More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=33815 - IO Device 'PERC H310 Mini' (PCIID:1000:0073:1028:1f51) is certified but current driver (megaraid_sas) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=40344 ... Host 10.143.XX.XX> comp -v Host 10.143.XX.XX: May Not Be Compatible [Server: Warnings] Server 'PowerEdge R720' may not be compatible for ESX 6.0.0 Server: 'PowerEdge R720' from Dell Inc. CPU Model: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (Feature:0000:0000:0000:0010:0000:0110:1101:0111) UUID: 4c4c4544-0043-4d10-8044-cac04f425a31 (BIOS: 2.1.2) [Warning] May Not Be Compatible: found that Server 'PowerEdge R720' is compatible but there are some mismatched compatibility details - Server Model 'PowerEdge R720' with Intel Xeon E5-2600-v2 Series (ID:33815) is certified but current CPU Series (features:0x206d7) is not supported Certified BIOS versions are higher than 2.1.2 More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=33815 [IO: Warnings] Some IO devices may not be compatible for ESX 6.0.0 - Physical NICs: vmnic0 - 0000:01:00.0: IO Device 'NetXtreme BCM5720 Gigabit Ethernet' from Broadcom Corporation PCI ID: 14E4:165F:1028:1F5B Driver: tg3 N/A [OK] Compatible: IO Device 'NetXtreme BCM5720 Gigabit Ethernet (PCIID:14E4:165F:1028:1F5B)' is compatible for ESX 6.0.0 - More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=37809 - Storage Adapters: vmhba0 - 0000:00:1f.2: IO Device 'Patsburg 6 Port SATA AHCI Controller' from Intel Corporation PCI ID: 8086:1D02:1028:48C Driver: ahci N/A [OK] Compatible: IO Device 'Patsburg 6 Port SATA AHCI Controller (PCIID:8086:1D02:1028:48C)' is compatible for ESX 6.0.0 - More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=35697 ...
Check upgradable ESXi Releases and validate hardware compatibility with a selected ESXi release
------------
Host 10.143.XX.XX> up > Upgradable releases of VMware ESX Server 6.0.0 [ID:694] VMware vSphere Hypervisor (ESXi) 6.0.0 U1 [ID:994] VMware vSphere Hypervisor (ESXi) 6.0.0 U2 [ID:2131] VMware vSphere Hypervisor (ESXi) 6.5.0 [ID:2135] VMware vSphere Hypervisor (ESXi) 6.0.0 U3 [ID:2331] VMware vSphere Hypervisor (ESXi) 6.5.0 U1 [ID:2735] VMware vSphere Hypervisor (ESXi) 6.7.0 Host 10.143.XX.XX> upto 6.5.0 -s [OK] The specified release (VMware vSphere Hypervisor (ESXi) 6.5.0) is upgradable from this VMware vSphere Hypervisor (ESXi) 6.0.0 [Server: Warnings] Server 'PowerEdge R720' may not be compatible for ESX 6.5.0 [IO: Warnings] Some IO devices may not be compatible for ESX 6.5.0 Compatibility issues: - Server Model 'PowerEdge R720' with Intel Xeon E5-2600-v2 Series (ID:33815) is certified but current CPU Series (features:0x206d7) is not supported Certified BIOS versions are higher than 2.1.2 More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=33815 - IO Device 'PERC H310 Mini' (PCIID:1000:0073:1028:1f51) is certified but current driver (megaraid_sas) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=40344
Generate a compatibility validation report with csv format
------------
c:\>python compchecker.py -s 10.192.XX.XX -u admin -r Enter password for host "10.192.XX.XX" and user "admin": VMware Compatibility Checker (host:10.192.XX.XX, user: admin) > connecting host... > collection host information... [ VMware VirtualCenter Server 6.5.0 (VMware vCenter Server 6.5.0 build-4602587) ] Generating compatibility validation report for 10.192.XX.XX [Host 10.143.XX.XX] Collecting hardware information... [Host 10.143.XX.XX] Validating Compatibility... ... Report 'compreport_10.192.XX.XX.csv' has been created! c:\>compchecker.py -s 10.192.XX.XX -u admin -r -v 6.7.0 ... Report 'compreport_10.192.XX.XX_6.7.0.csv' has been created!
Changelog
Build 20210219
- Fix for ESX / VC 7.0 U1 Versioning issues
Build 10066133
- Fixed bugs
Build 8951845
- Offline case support The current script requires to be executed with access to both public internet and target hosts. The new version can separately validate compatibility from collecting hardware information. Hence, user can collect hardware information on a system without public internet access and save the information in a json file. And he can validate compatibility of collected hardware from a saved json file on a system with public internet access.
- Multiple virtual centers support
The host parameter with the '-s' option now accepts comma separated multiple hostnames. This feature will be useful to create a single compatibility report for multiple VCs
example)
$compchecker.py -s <host1>,<host2>,<host3> -u <user>(,<user>)
- More information in the compatibility report
"Installed Release", "Checked Release", and hardware information have been added in the report. - The "-p" option to set a proxy server
The https proxy server can be specified with the "-p" option
ex)
The ‘-g’ option will collect hardware information and generate a json file. (no need to have internet access)
$compchecker.py -s <host> -u <user> -g <json-data-filename>
The ‘-f’ option will validate compatibility from a json file (no need to access target hosts)
$compchecker.py -f <json-data-filename>
Contributors
Similar Flings

ESXi Embedded Host Client
This version of the ESXi Embedded Host Client is written purely in HTML and JavaScript, and is served directly from your ESXi host and should perform much better than any of the existing solutions.

USB Network Native Driver for ESXi
This Fling supports the most popular USB network adapter chipsets found in the market.

Community Networking Driver for ESXi
This Fling is a collection of ESXi Native Drivers which adds support for various PCIe-based network adapters.