Script to Update iLO Firmware
ISSUE : How to update iLO firmware for many servers in one go.
GOAL : Automate with scripts to update the iLO firmware.
SOLUTION : Create scripts using HP provided tools to automate the iLO firmware upgrade.
Prerequisites : A Linux jump server which can reach all the console IP's
or any Linux terminal - preferably Cygwin installed in your laptop.
Download Firmware rpm file
Download linux-LOsamplescripts5.30.0.tgz tool from HP
1. Download the rpm file of firmware.
Link to down load the iLO Firmware version 2.30 (firmware-ilo5-2.30-1.1.x86_64.rpm)
2. Download HP tool to pass on the firmware in xml
Download link linux-LOsamplescripts5.30.0.tgz
3. Extract the HP tool to get the Update_Firmware.xml file and locfg.pl file
tar zxvf linux-LOsamplescripts5.30.0.tgz
4. Extract the rpm file to get the binary file
$ rpm2cpio firmware-ilo5-2.30-1.1.x86_64.rpm | cpio -idmv
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/.cpq_package.inc
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/.setup
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/CP038707.xml
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/hpsetup
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.30-1.1/ilo5_230.bin
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/payload.json
./usr/lib/x86_64-linux-gnu/firmware-ilo5-2.10-1.1/setup
./usr/lib/x86_64-linux-gnu/hp-scexe-compat
cpio: ./usr/lib/x86_64-linux-gnu/hp-scexe-compat/CP038707.scexe not created: newer or same age version exists
./usr/lib/x86_64-linux-gnu/hp-scexe-compat/CP038707.scexe
./usr/lib/x86_64-linux-gnu/scexe-compat
cpio: ./usr/lib/x86_64-linux-gnu/scexe-compat/CP038707.scexe not created: newer or same age version exists
./usr/lib/x86_64-linux-gnu/scexe-compat/CP038707.scexe
66357 blocks
$
5. Edit the file Update_Firmware.xml and provide the path of binary file which is extracted from the rpm
<UPDATE_RIB_FIRMWARE IMAGE_LOCATION="/home/judi/ilo5_230.bin"/>
6. Execute manually in one server to test the xml file and firmware update.
perl /home/judi/linux-LOsamplescripts5.30.0/locfg.pl -s 192.168.1.11 -f /home/judi/windows-LOsamplescripts4.50.0/Update_Firmware.xml -u ilousername -p ilopasswd
7. Now check the firmware version of that server.
curl -ks "https://192.168.1.10/redfish/v1/Managers/1/" -k -u ilousername:ilopasswd | python -m json.tool | grep "FirmwareVersion"
8. Upon confirmation the functionality, write a script to update the firmware to all servers
for i in `cat /home/judi/server_list`; do
perl /home/judi/linux-LOsamplescripts5.30.0/locfg.pl -s $i -f /home/judi/windows-LOsamplescripts4.50.0/Update_Firmware.xml -u ilousername -p ilopasswd
if [ $? -eq 0 ] ; then
echo "$i - Done" >> /home/judi/log.out
else
echo "$i - NOT" >> /home/judi/log.out
fi
done
9. Check the log.out file to know the status of the firmware update
~Judi~
No comments:
Post a Comment