How to install HP Offline bundles on non-HP hardware

HP offers customized installation ISOs for ESXi 5.x that include drivers for HP specific hardware, their Offline Bundles for hardware monitoring and useful tools like hpacucli for managing SmartArray adapters. However, you can only install HP branded ProLiant servers with these ISOs. If you try to install a non-HP/whitebox hardware with an HP Customized ISO you will run into this error:

HP Customized ISO installation failure on non-HP hardware
There are quite a few people in the VMware community who install HP SmartArray controllers into their whitebox machines (e.g. after having purchased them on eBay or having yanked them out of some old ProLiant server themselves), and this is indeed a smart and cost-effective way to get an officially supported hardware RAID controller for your ESXi box. But how can you install the HP packages for monitoring and the hpacucli tool if you are not able to install the box with the HP Customized ISO?

Well, you can just install the server using the regular VMware installation ISO, and try to add the HP Offline bundles after the installation. But - guess what? - this will also fail:

HP Offline bundle installation failure on non-HP hardware
Obviously there is a check for HP hardware included in these VIB files, and unfortunately there is no way to override this check.
But we can modify the packages to remove this check, and here is how to do this:

1. Download the hp-smx-provider and the hpacucli VIB files from HP (Please note: the links point to the latest versions of the packages as of now, but the instructions will also work with any newer versions).

2. Use the ar command line utility to extract the descriptor.xml file from the VIB files like this:

   ar xv hpacucli-9.40-12.0.vib descriptor.xml

(Note: ar is natively available on any Linux platform. If you must or want to use Windows then download my ESXi5 Community Packaging Tools - they include a Windows version of ar and the required Cygwin libraries in the sub-directory tools\cygwin)

3. Edit the descriptor.xml file in your favorite text editor and remove all <hwplatform> tags from it:

Edit descriptor.xml to remove HP hardware check
4. Update the VIB file to include the patched descriptor.xml file using ar like this:

   ar rv hpacucli-9.40-12.0.vib descriptor.xml

5. You are now able to install the patched VIB file on any ESXi machine. Upload it to a datastore that is accessible by your host and install it in an ESXi shell using

   esxcli software vib install -v /path/to/hpacucli-9.40-12.0.vib --no-sig-check

Replace /path/to with the full name of the directory where you stored the VIB file. If you uploaded it e.g. to a datastore named datastore1 then the path will be /vmfs/volumes/datastore1.
The --no-sig-check parameter is needed because we broke the electronic signature of the VIB file by changing its contents.

Repeat the whole process with the hp-smx-provider VIB and you finally have a decent monitoring of your SmartArray controller (and attached disks) in the vSphere Client and the hpacucli tool for e.g. online RAID expansion!

By the way, the hpsa driver that you need for newer SmartArray models (some older models like the P400 use the cciss driver that is already included in the stock VMware image) does not include the HP hardware check. You can just download the latest version (as of today) and install it without any modifications required.




5 comments:

  1. Worked for me! Hp P400 Sas controller on a Asus P6T motherboard.

    i was looking for this for so long, thank you very much!

    ReplyDelete
  2. A few years ago (when ESX still existed without the "i") the tools would not start after install because of bios vendor checks in the deamons/services. Modding te installer and then trying to mod the huge scriptfiles (/etc/init.d/.sh) was to hard so I modded the BIOS DMI/SMBIOS tables with DMIEDIT.exe to display Hewlett-Packard as the BIOS vendor and that works great on an ASUS P5P43TD.
    Recently I upgraded the mainboard to an Intel S1200BTLR server board but unfortunately the intel UEFI does not allow me to change the DMI/SMBIOS tables. I decided to mod the BIOS file with AMIBCP.exe and flash the modded BIOS but still no luck (Maybe the management controller or FRU forces the BIOS vendor to be "Intel Corporation").

    This easy VIB file modification did the trick! Thank you very much!

    ReplyDelete
  3. Hello,

    I have a Asus Motherboard (maximus VII impact)

    I wanted to know if it was possible to use the bundle with HP to bring up the temperature in esxi?

    Thank you for your help

    ReplyDelete
    Replies
    1. Hi Laurent,

      this will not work. The HP bundles include the CIM providers for HP hardware only.

      It looks like ESXi already includes CIM providers for certain hardware sensors (e.g. Supermicro boards work well), but they do not work with all brands (especially not with boards that are not on the HCL).

      So if Asus does not provide a suitable CIM provider package for ESXi then you are most probably out of luck.

      Andreas

      Delete
  4. Hi Andreas,

    Ok i understand.

    thank you very much for your answer !

    ReplyDelete

***** All comments will be moderated! *****
- Please post only comments or questions that are related to this post's contents!
- Advertising and link spamming will not be tolerated!