ESXi compatibility checker
Many of you might be considering upgrading to Vmware vSphere 6.7 but what about your underlaying hardware of ESXi? Is it capable of running ESXi 6.7? I have found this great fling by absolute coincidence.
If you never heard about flings, you must visit labs.vmware.com. It’s a wonderful collection of various scripts or extended functionality for your vSphere environment and sometimes those projects make it to the production state as a part of VCSA.
I was doing on-site training two weeks ago and one of my students asked me about upgrade procedure of the vSphere environment. I said its quite straight forward process but warned him about Hardware Compatibility List and supported hardware. He was quite upset that he has to validate all components against HCL to be on supported level and after few days he said like “Hey, I have found this fling, do you know about it?”.
Well, I did not (it was released roughly two weeks before the on-site training and I must say it is a wonderful script.
Basically, what it does is, that it will check your ESXi servers against HCL automatically and gives you report of all components, supported versions of ESXi you can upgrade to and much more information.
Working with the script is quite easy, although the installation of the environment was a bit pain in the ass for me. Usually I do not read requirements that deeply as I should, and I run into several problems and spent like two hours with troubleshooting my python environment until I realized that it requires Python 3.6 but in my CentOS server I had version 2.6.5.
So how to successfully install all the prerequisites on CentOS?
First you need to add repo with Python 3.6 (unless you want to compile it by yourself which you really do not want).
yum install -y https://centos7.iuscommunity.org/ius-release.rpm yum update
Then just install Python 3.6.
yum install -y python36u python36u-libs python36u-devel python36u-pip
Next task is to install required Python modules
pip3.6 install pyopenssl pip3.6 install pyvim pip3.6 install pyvmomi
And lastly several minor tools (if you do not have them on your system yet).
yum install wget yum install unzip
Finally download the package & unzip.
wget https://download3.vmware.com/software/vmw-tools/compchecker/compchecker_v1_8532763.zip unzip compchecker_v1_8532763.zip
How to run the script?
python3.6 compchecker.py -s 172.16.1.250 -u root The authenticity of host '172.16.1.250' can't be established. RSA key fingerprint is 04:B4:84:22:FF:B4:2D:B1:9D:BF:25:04:6D:F0:3D:0E:00:38:9E:39. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.16.1.250' (RSA) to the list of known hosts. Enter password for host "172.16.1.250" and user "root": [WARNING] The compatible status may not be fully accurate, please validate it with the official VMware Compatibility Guide VMware Compatibility Checker (host:172.16.1.250, user: root) > collecting host information... Please wait, this may take few minutes depending on the number of ESXi hosts... [ VMware ESX Server 6.7.0 (VMware ESXi 6.7.0 build-8169922) ] Once the environment was scanned you can have a look at your datacenters and hosts. In my case I have just single host, but it will work exactly the same if you connect to vCenter server and have several datacenters and clusters configured. HostAgent> datacenters [1] Datacenter ha-datacenter HostAgent> d 1 Datacenter ha-datacenter> hosts [1] Host ns3907638 (ha-datacenter): VMware ESX Server 6.7.0 (build:8169922) Datacenter ha-datacenter> h 1
When you select host, you can check the compatibility
Host ns3907638> comp -s Host ns3907638: May Not Be Compatible [Server: Warnings] Server 'X10DRH' may not be compatible for ESX 6.7.0 [IO: OK] IO devices are compatible for ESX 6.7.0 Compatibility issues: - Server Model 'SYS-2028R-C1R' with Intel Xeon E5-2600-v3 Series (ID:38082) is certified but current release (6.7.0) is not supported current CPU Series (features:0x406f1) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=38082 - Server Model 'SYS-2028R-C1RT' with Intel Xeon E5-2600-v3 Series (ID:38067) is certified but current release (6.7.0) is not supported current CPU Series (features:0x406f1) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=38067 - Server Model 'SSG-2028R-E1CR24H' with Intel Xeon E5-2600-v3 Series (ID:38934) is certified but current release (6.7.0) is not supported current CPU Series (features:0x406f1) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=38934 - Server Model 'SSG-2028R-E1CR24L' with Intel Xeon E5-2600-v3 Series (ID:39894) is certified but current release (6.7.0) is not supported current CPU Series (features:0x406f1) is not supported More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=server&productid=39894 - IO Device 'AOC-CTG-I2T' (PCIID:8086:1528:15d9:1528) is certified but certified driver versions are higher than 1.4.1-11vmw.670.0.0.8169922 More information: http://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=42962 Host ns3907638>
You can also have a look for possible upgrades based on your particular version (I am already on 6.7 so I do not have such option, so I have borrowed output from the official fling documentation).
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
You can also generate the HTML and CSV files for all your hosts and for example prepare large excel sheets with advanced functions to search various incompatibilities of your environment.
python3.6 compchecker.py -s 172.16.1.250 -u root -r
I have to say I really like this utility and many thanks to Heejeong Shin for writing that!