New fling: ESXi Compatibility Checker

Summary:

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:

Installation steps on Windows

  1. Download the latest Python package from Python Download. Install Python Package, select the option to install "pip".
  2. Installl Pyvmoni python -m pip install pyvmomi
  3. Installl crypto python -m pip install crypto
  4. 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:\> 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>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:\>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!

1
2#### Video:
3
4You can get this fling [here](https://labs.vmware.com/flings/esxi-compatibility-checker)