This OA command I recently came across works like magic. If you’ve ever done it manually, you know how time consuming it can be to update the iLO (Integrated Lights Out) firmware across multiple ProLiant servers. However, with the BladeSystem Onboard Administrator, it can be accomplished in seconds using a single CLI command to update the iLO firmware on all the server blades within a c-7000 or c-3000 enclosure. There’s more info after the jump…

To start with, here’s the command syntax and help message from the OA:

UPDATE ILO {ALL | <bay number>[{ , | - } <bay number>]} <url>
Administrator account privileges are required with given bay access. “ILO” downloads a new flash image from the network and uses it to update the iLO’s firmware. Supported protocols are http, https, tftp and ftp. The url should be formatted as: protocol://host/path/filename. If your FTP server does not support anonymous logins, a username and password can be specified within the url formatted as: ftp://username:password@host/path/filename.

So the requirements are:

  • Obviously, you have to be an Administrator of the blade chassis in order to execute this command.
  • You must place the iLO firmware image (*.bin file) on a networked HTTP, HTTPS, TFTP or FTP server that is accessible from the OA/iLO’s.

AN EXAMPLE
Once you’ve fulfilled the requirements, all that’s left to do is issue the command. In my case, I downloaded from hp.com and placed the iLO-2 v1.75 firmware file on my mgmt-master.nachotech.com server. Next, I ran the update command — here’s how it proceeded on my enclosure:

nachotech> UPDATE ILO ALL ftp://mgmt-master.nachotech.com/pub/ilo2_175.bin
 
Bay 2: Request is valid only for ProLiant SERVER blades.
Bay 15: The blade is not present.
Bay 16: The blade is not present.
 
Updating ProLiant iLO ...
(This may take up to a minute)
 
Bay 1: An error occurred while executing the script on iLO. Please review the RIBCL results.
Bay 3: Success
Bay 4: Success
Bay 5: Success
Bay 6: Success
Bay 7: Success
Bay 8: Success
Bay 9: Success
Bay 10: Success
Bay 11: Success
Bay 12: Success
Bay 13: Success
Bay 14: Success
 
Please allow iLO one minute to restart after a successful update
 
nachotech>

At the beginning, notice the error-checking phase of the update process. I specified to update the iLO on ALL blades, but some blades don’t have iLO’s. Namely, the SB-40c storage blade that’s in bay 2. It is not a server blade, so it doesn’t have an iLO to update. No problem here, the command will just skip that bay and continue with the others. It also skips bays that are empty.

The command returned “Success” on all server blades except one, and has a cryptic error about “RIBCL results.” I’m not sure what that means, but the iLO-2 was updated successfully, so it’s a harmless glitch. I’m really happy I found this command — it is soooo much better than doing the updates manually.


VERIFYING THE FIRMWARE UPDATES
After you perform this command, you’ll want to wait a few minutes to allow the iLO’s to update themselves and then restart with the new firmware. The best place to check if the firmware has been updated is with the Onboard Administrator’s web interface. Here’s where to click:

OA GUI Firmware Link
Then check the iLO Firmware Version column to see if it’s been updated to what you wanted:
OA firmware table
IN SUMMARY
There are other methods to script on-line updates of iLO firmware, but those methods require specific operating system support, iLO drivers, etc. This method with the OA doesn’t care what operating system or drivers you have installed on the server blades. In fact, the blades can be powered off and it will still work. Please leave a comment if you have better methods of updating iLO firmware.