Recently, one of my colleagues reached out to me and asked about this VMware ESXi Compatibility Checker Fling and honestly, I haven’t use this before so I thought a give it a go and share my experience with him. If I’m doing so, why I’m not sharing this in my blog.
We had an outdated test ESXi host and I thought to use this free tool against this ESXi host and check the compatibility. Previously, we have done this and this host is not compatible with ESXi 6.5 and HBAs were not compatible with ESXi 6.0 even. For some testing purpose we have upgraded this to ESXi 6.0 and it was a great source for this test. I’d like to share my real hands-on experience with this post for my readers. Unfortunately, I had to blur and cut-off some places in my screen captures.
This tool is freely available in VMware Flings site and you can download it here. I’d suggest you to give it a try if you are planing to upgrade your environment. Please note that since this is not available for the production use, it doesn’t have production support. Before use this tool, make sure to go through the VMware Flings Terms and get your self familiar with this Flings website.
You have to agree to the “Technical Preview License” and do not run this on the PROD environment before you download.
View the “Requirements” tab for the prior requirement of this Fling
Installing Python 3.6.5 (or above) for ESXi Compatibility Checker
Download Python 3.6.5 and install on your computer.
Download the Windows executable installer
Run the installer and complete the installation (select the option to install “pip“)
Install “pyvmomi” running the “python -m pip install pyvmomi” command
Install “crypto” running the “python -m pip install crypto” command
Install “openssl” in the same way with the “python -m pip install pyopenssl” command
Extract the downloaded “ESXi Compatibility Checker” zip file you can see files similar to this
Open a command prompt and change the directory to the extracted fling folder and run “compchecker.py -s <VC_OR_ESXI_HOST> -u <USERNAME>” command to connect to a vCenter or a ESXi host. If you don’t have a trusted certificate you will get a prompt to access the Warning and type the password for the account then it will make the connection to the vCenter server. Prompt will change to the “VirtualCenter <VC_NAME>”
You can change the prompts with below commands :
- datacenters – list the available datacenters in the vCenter server
- d <NUMBER_OF_THE_VC> – select and change the datacenter and prompt will change to “Datacenter <DC_NAME>”
- hosts – list the available ESXi Hosts
- h <NUMBER_OF_THE _HOST> – select and change the ESXi host and prompt will change to “HostAgent <HOSTNAME>”
- hardware – to view the available hardware components
- deselect – go to the previous prompt
- exit – exit from the tool
To check the hardware compatibility for the hardware use “comp -s” command
To validate the hardware compatibility use “comp -v” command, in my case my Dell R710 ESXi host running with outdated BIOS version and it has some incompatible HBA adapters. Compatibility verification generated these information clearly as below.
This is my running BIOS version
I verified the VMWare HCL with my server and it’s CPU and it was throwing the correct information, according to the HCL ESXi 6.0 needs at least BIOS version 6.4
I checked this against the DELL Compatibility Matrices, DELL has more latest version than 6.4.
Also, there was an incompatible IO Device (HBA) with ESXi 6.0 version and I checked the HCL and the generated link from the output
VMware HCL confirmed the same, there was no compatible device listed in the HCL
The given link was exactly correct and the given out put confirmed that this IO device supports only to ESXi 5.5
Check Possible Version for the Upgrade using ESXi Compatibility Checker
Now let’s check how to check the possible versions for the upgrade using this tool, use “up” command to the next possible versions for this ESXi host
To check the compatibility to a certain version, use “upto <VERSION_FROM_ABOVE> -s”, I check the possibility for 6.5 for this host. In my case, it gave the correct information this Dell R710 host was not compatible with the ESXi 6.5
Generate Compatibility Reports From ESXi Compatibility Checker
This tool has a great feature to generate the reports, it can be used to generate the reports with the current compatibility and a comparison with a version
Use “compchecker.py -s <VC_OR_ESXI> -u <USERNAME>” -r“
It will generate two reports in .CSV and HTML format in the same folder
Report will be similar to this
Here I have uploaded a sample compatibility check report generated following the above steps and command. Please note that the information in this report is not valid and I have altered the actual report. You can access the generated report from here.
To generate a comparable report with a different version use, “compchecker.py -s <VC_OR_ESXI> -u <USERNAME> -r -v <COMPARISON_VERSION>”
Another .CSV and HTML format reports will be generated to the same folder
Report will be similar to this
Sample report can be found here.
If you are planing to upgrade your current VMware environment to a newer version you have to go through a Compatibility check with all your hardware vendors. This can be a time consuming task and there is no easy other way to accomplish the compatibility check. Having worked with few upgrades I can confirm that this is the most important part of the planing phase.
This Fling tool is one of the greatest way to check the compatibility across the ESXi hosts and its associated hardware components. In my hands-on use it provided almost the same results compare to checking the VMware HCL manually. Even though it produces a warning Saying “The compatible status may not be fully accurate, please validate it with the official VMware Compatibility Guide” I was not able to find any inaccurate information in the results which this tool provided. It is obvious that hardware vendors can have some latest release similar to my experience and checking with vendor compatibility matrices cannot be avoided in your planing phase.
Unfortunately, this tool is not in production ready yet so it is not recommend to use in production environment. Let’s hope for the best.
If you found this post as useful please rate the post and share it!