seveas / python-hpilo

Accessing the HP iLO XML interface from python

Home Page:https://seveas.github.io/python-hpilo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Updating RIB firmware on ilo5 fails

adamwallred opened this issue · comments

Hello,

I am attempting to use hpilo_cli to locally update the firmware for an ilo5, using ilo firmware version 1.30 (as a locally installed RPM), and hpilo_cli 4.2.1. I see the following when attempting:

+ hpilo_cli -P local localhost update_rib_firmware filename=/usr/lib/x86_64-linux-gnu/firmware-ilo5-1.30-1.1/ilo5_130.bin
Traceback (most recent call last):
  File "/bin/hpilo_cli", line 334, in <module>
    main()
  File "/bin/hpilo_cli", line 214, in main
    results = [getattr(ilo, method)(**params)]
  File "/usr/lib/python2.7/site-packages/hpilo.py", line 1869, in update_rib_firmware
    return self._request(root, progress)[1]
  File "/usr/lib/python2.7/site-packages/hpilo.py", line 250, in _request
    message = self._parse_message(data)
  File "/usr/lib/python2.7/site-packages/hpilo.py", line 583, in _parse_message
    raise IloError(message, status)
hpilo.IloError: Firmware flash failed.

If I upload the same file to the web interface of the ilo, the firmware flash succeeds. There is also an hpsetup script that is shipped with the rpm that works. Even stranger, ilo firmware version 1.15 flashes locally fine. Any ideas on whether or not local firmware flash should work for ilo5 on this version?

Something here with different message

hpilo_cli 192.168.128.138 update_rib_firmware version=latest
Traceback (most recent call last):
  File "/usr/bin/hpilo_cli", line 329, in <module>
    main()
  File "/usr/bin/hpilo_cli", line 208, in main
    results = [getattr(ilo, method)(**params)]
  File "/usr/lib/python2.7/dist-packages/hpilo.py", line 1887, in update_rib_firmware
    self._upload_file(filename, progress)
  File "/usr/lib/python2.7/dist-packages/hpilo.py", line 321, in _upload_file
    sock.write(part)
  File "/usr/lib/python2.7/ssl.py", line 677, in write
    return self._sslobj.write(data)
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1829)

On iLO4 servers work great.