Please provide your feedback in this short Flings' survey.
This fling has been deprecated.
Aug 02, 2019

C:\Users\glucas\Downloads\compchecker_v1_10066133>python compchecker.py -s vsan1.call.net -u root
Traceback (most recent call last):
File "compchecker.py", line 8, in <module>
from tools import cmdutil
File "C:\Users\glucas\Downloads\compchecker_v1_10066133\tools\cmdutil.py", line 11, in <module>
from tools import sshcert, common
File "C:\Users\glucas\Downloads\compchecker_v1_10066133\tools\sshcert.py", line 11, in <module>
from OpenSSL import crypto
ModuleNotFoundError: No module named 'OpenSSL'

Aug 02, 2019

Hi,

It seems that the pyopenssl is not installed
Could you please try it after installing the tool?

* Installl crypto
python -m pip install crypto
* Installl pyopenssl
python -m pip install pyopenssl

Thanks!
Heejeong

May 21, 2019

BTW great Checker, thanks so much,,use it for so many things .
Any future plans to support checking compatibility for--> ESXI 6.7 U1 , ESXI 6.7 U2

May 21, 2019

Hi Alexis,

The compchecker supports any ESXi release including 6.7u1 & 6.7u2

$./compchecker.py -s <host> -u <user> -r -v 6.7u1
This will generate compchecker report for 6.7u1

Please let me know if you have any issue.
Thanks,
Heejeong

May 10, 2019

is there a option to pass a password ?

May 10, 2019

No. The script will need the username/password to access hosts.

May 13, 2019

yes , but i wanna run it in a automated way. as i see. compchecker. py need a human typing a password via keyboard.

May 13, 2019

I see your use case. Actually, the option was removed intentionally during the security audit. Let me contact the security team whether I can add it back

Jun 24, 2019

hi , any news from the security team?

Apr 03, 2019

Have downloaded the version v1.0 - Build 10066133 and trying to run it against one host.

Whichever switch( -s -v -u), getting the below error. Kindly advise on this. thanks

HostAgent ***ESXI***> comp -v
[ERROR] Failed to access VMware Compatibility API, please check your Internet connection or contact VMware Compatibility API administrator

HTTPSConnectionPool(host='apigw.vmware.com', port=443): Max retries exceeded with url: /m4/compatibility/v1/releases?productId=1 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
[ERROR] Valid release information is required: poweredOn

Apr 04, 2019

Hi nhsk4u

It seems that your system is unable to access an API server that provides VMware compatibility data. Are you able to access external sites? if yes, could you please try the '-n' option?

Apr 04, 2019

i am able to access the public websites and getting below error when used -n switch

HostAgent ***ESXI***> comp -n
[ERROR] Failed to access VMware Compatibility API, please check your Internet connection or contact VMware Compatibility API administrator

HTTPSConnectionPool(host='apigw.vmware.com', port=443): Max retries exceeded with url: /m4/compatibility/v1/releases?productId=1 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
[ERROR] Valid release information is required: poweredOn

Use '-s' for warnings and '-v' for compatibility details (example, 'comp -v', 'upto 6.5 u1 -v')

Please guide me how to give proxy ip and credentials in command to see if that helps

Apr 04, 2019

You can set up the proxy setting with the '-p' option:
-p user:password@proxyserver:proxyport

Heejeong

Apr 07, 2019

My password contains @ hence i used single quote but still getting the below error. Kindly advise. thanks

HostAgent XXXESXIXXX> comp -p user:'iXX\nsXXX':'XXXXX'@'XXX':'XXX' -s
[ERROR] Failed to access VMware Compatibility API, please check your Internet connection or contact VMware Compatibility API administrator

HTTPSConnectionPool(host='apigw.vmware.com', port=443): Max retries exceeded with url: /m4/compatibility/v1/releases?productId=1 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
[ERROR] Valid release information is required: poweredOn

Apr 07, 2019

This is proxy issue only, I have connected to host in the internal office network then i connected to other external network(home) and able to verify -v, up compatibility

when i use -s then it is trying to connect host again for some kernal information then failing as i am on home network

Also unable to get the report as the command will connect host again which is not feasible in the above work around

Kindly suggest how to fix proxy issue or how to get the csv report in alternative way

Also just curious, does this script provide which version of firmware/driver to be installed if I want to upgrade to latest version??

Apr 08, 2019

Hi nhsk4u,

First of all, could you please try the proxy setting in the Python command?
$python ./compchecker.py -h xxx - u xxx -p <proxyserver-setting>
....
HostAgent XXXESXIXXX> comp -s
...
This will apply the proxy setting for all connections.

I am not sure I understood correctly, but the 'comp -v' and 'up' command work but the 'comp -s' returns the error? It's kind of strange as 'comp -v' and 'comp -s' will call the same APIs.

Have you ever tried the '-f' and '-g' option? This offline case support may work for you.

The ā€˜-gā€™ option will collect hardware information from the specified data centers and generate a json file. Please use this option where you can access your datacenters (internal office network) and collect hardware details in a file.

$compchecker.py -s <host> -u <user> -g <json-data-filename>

use with '-f' option with the generated file from where you can access external network (home)

$compchecker.py -f <json-data-filename>

This will use hardware information for a file to validation their compatibilities. You can use the command line interface or generate reports
Please try and let me know if you have problems.

About the firmware, the current script is unable to collect firmware data from ESX hosts. Hence, the firmware is not validated.

Thanks,
Heejeong

Apr 08, 2019

My password contains @ hence i used single quote but still getting the below error. Kindly advise. thanks

HostAgent XXXESXIXXX> comp -p user:'iXX\nsXXX':'XXXXX'@'XXX':'XXX' -s
[ERROR] Failed to access VMware Compatibility API, please check your Internet connection or contact VMware Compatibility API administrator

HTTPSConnectionPool(host='apigw.vmware.com', port=443): Max retries exceeded with url: /m4/compatibility/v1/releases?productId=1 (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
[ERROR] Valid release information is required: poweredOn

Please confirm if i am using -p correctly, Please note i have replaced sensitive data with X

I will check -f & -g and update the status here

Apr 09, 2019

Hi nhsk4u,

Could you please use the '-p' option when you execute the 'compchecker.py' python script from Windows command prompt?

$python ./compchecker.py -h xxx - u xxx -p user:'iXX\nsXXX':'XXXXX'@'XXX':'XXX'

Not from the compchecker tool's command prompt :)
HostAgent XXXESXIXXX> comp -s

Thanks,
Heejeong

Apr 10, 2019

used -p at command prompt, didnt get any error

However when I am trying to find the details getting as below

I believe the proxy details are not taking persistently for all commands

Please advise.

HostAgent XXXesxiXXX.isddc.men.maxis.com.my> comp -v

HostXXXesxiXXX.isddc.men.maxis.com.my: May Not Be Compatible

[SERVER: Warnings] Server 'ProLiant BL460c Gen8 may not be compatible for ESX 6.5.0

Server: 'ProLiant BL460c Gen8' from HP
CPU Model: Intel(R) Xeon(R) CPU E5-2667 v2 @ 3.30GHz (Feature:0000:0000:0000:0011:0000:0110:1110:0100)
UUID: 31353337-3135-4753-4834-32334a484d59 (BIOS: I31)
[ERROR] Failed to get compatibility information
[IO: Warnings] Some IO devices may not be compatible for ESX 6.5.0
- Physical NICs:
vmnic0 - 0000:04:00.0: IO Device 'NetXtreme II BCM57810 10 Gigabit Ethernet' from QLogic Corporation
PCI ID: 14E4:168E:103C:1798 Driver: bnx2x Version 1.78.80.v60.12
[ERROR] Failed to get compatibility information
- Storage Adapters:
vmhba0 - 0000:03:00.0: IO Device 'Smart Array P220i' from Hewlett-Packard Company
PCI ID: 103C:323B:103C:3355 Driver: nhpsa 2.0.16-1OEM.650.0.0.4598673
[ERROR] Failed to get compatibility information vmhba1 - 0000:05:00.0: IO Device 'ISP2532-based 8Gb Fibre Channel to PCI Express HBA' from QLogic Corp
PCI ID: 1077:2532:103C:338E Driver: qlnativefc 2.1.57.0-1OEM.600.0.0.2768847
[ERROR] Failed to get compatibility information

Apr 11, 2019

Hi nhsk4u,

Sorry for the trouble. It's really weird that the server is checked, but not the IO devices. The proxy setting should be applied to both API calls.

Could you please enable the log using the '-l' option, and reproduce the issue? This will generate a log file (*.log), Please remove any confidential information in the log file and send it to me? heejeong@vmware.com
No need to send the entire log, just send me some snippet around errors.
I will see if I can find some clues from the log.
Thanks,
Heejeong