For a healthy platform and to receive support from VMware it is important to verify that all IO devices are listed in VMwares Compatibility Guide or Hardware Compatibility List (HCL) with their correct driver and firmware version. The HCL is currently only provided as a website which is a problem for automated reports. Therefore I've transformed the VMwares IO Devices HCL into the JSON format, which works great in scripts. Here is the result:
Tag Archives: Automation
A few month ago I created a VMware HCL in JSON Format. This file should allow you to use the information provided by VMware in their HCL in an automated way. Recently I made some improvements to the JSON HCL and created a working PowerCLI function that can match about 80% of all systems.
Currently, the JSON files are generated every 2-3 days. I also created two filtered versions because the full HCL is very large and contains outdated information:
PowerCLI, a set of PowerShell extensions for vSphere, is a great tool for automating VMware configuration and management tasks. It allows you to change a lot of ESXi host and vCenter settings. A powerful cmdlet is Get-EsxCli which allows you to run ESXCLI tasks from your PowerCLI console. ESXCLI is the main configuration command on an ESXi host.
This post explains how to use the Get-EsxCli cmdlet with the new V2 interface, which is much more intuitive than the old method.
Based on Microsoft PowerShell Core which enables users to use PowerShell on Linux, Mac and Docker, VMware has started to make PowerCLI compatible with the new PowerShell. This allows to run scripts that were previously only available for Windows on Linux or Mac based systems.
In this post I am going to give a quick startup guide to the installation and configuration of PowerCLI Core.
Announced in my VMware HCL in JSON Format post a few days ago, here is now a working version of my script. The script does not create a fancy report at the moment, it just writes some output and the result. It's only intended to show that it actually works. Here is an example:
There are still some problems, but especially with HP, Dell or IBM Systems, it produces good results.
It's on my to-do list for quite a long time: Create a Script that checks hardware against VMwares HCL. There are some problems that needs to be solved to automate the process. My main problems are matching the installed ESXi version to the release Level (eg. 5.5 U2, 6.0, 6.0 U1,...), integrating the HCL into a script and matching HCL to the physical hardware.
This is what I can do today with PowerCLI, basically by running "Get-VMHost | Check-HCL":
I'm not sure if anyone is interested in automating HCL checks because I couldn't find any scripts online. If you are interested, nice! I need assistance...
I need a larger pool of hardware information to know how hardware identifies itself. So if you want to support me, please run the following PowerCLI command and send me the output (Just Copy/Paste CSV file contents to my Contact Form, or send me an eMail. I will respond with the output of my script as shown above). If you don't want to disclose your hostnames, just remove the "Name" part in the command, or replace the content with dummy-names.
Get-VMHost |select Name,Build,Manufacturer,Model,ProcessorType |Export-Csv hosts.csv -NoTypeInformation
If you are interested in how the script works, or the script/function itself, feel free to contact me. (It's unfinished spaghetti code....)
Some additional features:
The database used at my VMware Product End Of Support Countdown is now available in JSON. The database is based on VMware Lifecycle Product Matrix and allows you to use the information in scripts or for automation purposes.
I’ve also written a small script to demonstrate what this information can be used for.
Out of many reasons, I need VMware ESXi version information in a format that can be reused in scripts. I maintain a manual list since a couple of years but this list can't be used for automation purposes. VMware does not provide this information in the required format, so I created my own database which is now also available as JSON file.
I've also written a small script to demonstrate what this information can be used for.
Many ESXi installations are running on SD Cards or flash drives. In my opinion, it's a good practice. The hypervisor itself requires about 150MB, and the full installation on a SD Card is less than 1GB, without diagnostic partitions. VMware recommends using a 4GB or larger USB/SD device. When you want to install ESXi and you don't use auto-deploy, install servers or other automation tools you typically have to mount an ESXi ISO file to your server management system (iLO, iDRAC,...) or work with a physical installation media. This is somewhat slow and uncomfortable, but there is a little trick to make the installation faster.
You can prepare the USB/SD device with the ESXi installer, plug it into your server and install it to the device itself by overwriting the installer. You can also use customized installers when your hardware requires special drivers.
PowerCLI, a set of PowerShell extensions for vSphere, is a great tool for automating VMware configuration and management tasks. It allows you to change a lot of ESXi host and vCenter settings. One powerful cmdlet is Get-EsxCli which allows you to run ESXCLI tasks from your PowerCLI console. ESXCLI is the main configuration command on an ESXi host. This post explains how to use the Get-EsxCli cmdlet.