ESXi compatibility checker

 In Hardware, Product updates, Software

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!

Leave a Comment

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Not readable? Change text. captcha txt