fling logo of ESXi Compatibility Checker

ESXi Compatibility Checker

version 1.0 - Build 20210219 — February 19, 2021

Contributors 1

View All

Comments 159

  • profile picture of Heejeong Shin
  • profile picture of Heejeong Shin
  • profile picture of Heejeong Shin
  • profile picture of Antonio
  • profile picture of Heejeong Shin
  • profile picture of Heejeong Shin
  • profile picture of Heejeong Shin
  • profile picture of Heejeong Shin
View All
This fling has been deprecated.

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

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:\>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

  1. Offline case support
  2. 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.

    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>
  3. 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>)
  4. More information in the compatibility report

    "Installed Release", "Checked Release", and hardware information have been added in the report.
  5. The "-p" option to set a proxy server
    The https proxy server can be specified with the "-p" option

Contributors

Similar Flings

Feb 05, 2019
fling logo of ESXi Embedded Host Client

ESXi Embedded Host Client

version 1.33.1

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.

Nov 23, 2022
fling logo of USB Network Native Driver for ESXi

USB Network Native Driver for ESXi

version 1.11

This Fling supports the most popular USB network adapter chipsets found in the market.

Mar 15, 2022
fling logo of Community Networking Driver for ESXi

Community Networking Driver for ESXi

version 1.2.7

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