HewlettPackard / python-redfish-utility

Python-based utility for interacting with devices supporting a Redfish Service
Other
86 stars 41 forks source link

Unable to flash ROM on DL360 Gen10 #54

Closed isvicbhasme closed 2 years ago

isvicbhasme commented 2 years ago

On some DL360 Gen10 servers I am unable to flash the ROM firmware, also there are no errors being reported. The debug logs don't seem to give any clues. I need to perform the upgrade from an automation script and not from the UI.

root@localhost:/home/abc# sudo ilorest flashfwpkg /tmp/U32_2.34_04_08_2020.fwpkg --forceupload -u administrator -p $ILO_PASS
iLOrest : RESTful Interface Tool version 3.5.0.0
Copyright (c) 2014-2022 Hewlett Packard Enterprise Development LP
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Discovering data...Done
root@localhost:/home/abc# echo $?
0

The output of the same command with --debug option is attached as a file since its huge - flashfwpkg_debug.txt. Can someone point me in the right direction please.

sahanaramavana commented 2 years ago

Hi @isvicbhasme ,

Could you please check with our latest released version 3.5.1 ,

we tried it with the same and we are able to flash the FW without any exception.

Also checked in your debug file you have attached i see 200 OK for all the actions and no error is captured.

Would like to know whether the server did not get updated with the fwpkg file.

Thanks & Regards, iLORest Team

isvicbhasme commented 2 years ago

Hi @sahanaramavana,

For some historical reason we were copying an older version of ilorest_chif.so to /usr/lib/x86_64-linux-gnu/ilorest_chif.so thereby overwriting the ilorest_chif.so coming from the ilorest debian package. This obviously led to AttributeError due to certain missing symbols - AttributeError: /usr/lib/x86_64-linux-gnu/ilorest_chif.so: undefined symbol: isFwpkg20. After removing the ilorest_chif.so from our scripts we are able to flash the firmware successfully.

As part of FwpkgCommand.py - run() one suggestion would be to capture all Exceptions & log them - https://github.com/HewlettPackard/python-redfish-utility/blob/master/src/extensions/iLO%20REPOSITORY%20COMMANDS/FwpkgCommand.py#L173

Thank you

sahanaramavana commented 2 years ago

Hi @isvicbhasme ,

We highly appreciate your valuable suggestion . We shall definitely relook into this and take it as enhancement .

Thanks & Regards, iLOrest Team