KeyError: 'transfer-encoding'
I'm seeing this error message when trying to talk to a iLo3 on a rx2800 i2
$ python hpilo_cli. 10.59.255.37 -d --login="Administrator" --password="PASSWORD" get_embedded_health
Connecting to 10.59.255.37 port 443
Sending XML request, 132 bytes
Received 3446 bytes
Traceback (most recent call last):
File "hpilo_cli.", line 334, in
$ python hpilo_cli. -v 4.3 $ python --version Python 2.7.18 [ on a HPE rx2800 i2 running OpenVMS V8.4 ] iLO FW : 02.01.03 which is the most recent version for this server
You left your password in there. I edited it out, but you may want to change that password 😞
02.01.03 is not a known version number, are you sure this is an ilo? If you change line 509 to if header.get('transfer-encoding', '') == 'chunked': it should get beyond this point, but given that it's behaving quite differently from what I know, I don't know how far it will get.
According to HPSC iLO-3 Firmware Version: 02.01.03 is the most recent version for this server. HPE Integrity Servers are not so common so may be few have tried this.
[ although this iLo is not accessible from anywhere outside of a firewalled LAN it was silly of me to include the password and I have changed it ].
$ python hpilo_cli. x.x.x.x -d --save-response=r.txt --login="Administrator" --password=PASSWORD get_fw_version
Connecting to x.x.x.x port 443
Sending XML request, 132 bytes
Received 3446 bytes
Connecting to x.x.x.x port 443
Sending XML request, 283 bytes
Received 3446 bytes
hpilo.py:557: IloXMLWarning: iLO returned malformed XML, attempting to fix. Please contact HP to report a bug
warnings.warn("iLO returned malformed XML, attempting to fix. Please contact HP to report a bug", IloXMLWarning)
Traceback (most recent call last):
File "hpilo_cli.", line 334, in
here's the saved response file r.txt
I would be disappointed but not entirely surprised to discover this server iLo is too prehistoric for this software
Heh, python-hpilo still supports the original ilo 1. But yeah, I only ever use(d) it on proliants, not integrity servers. It looks like the protocol autodetection thinks you should be using http to talk to the ilo, but actually doing this fails and you get some html document back. Can you try with --protocol raw ?
$ python hpilo_cli. 10.59.255.37 -d --protocol raw --save-response=r.txt --login="Administrator" --password="PASSWORD" get_
fw_version
Connecting to 10.59.255.37 port 443
Sending XML request, 202 bytes
Received 146 bytes
Traceback (most recent call last):
File "hpilo_cli.", line 334, in
and here's the saved response r2.txt
I guess the key part of that response is at the end "The requested method is not recognized by this server." Any thoughts on how to find out what methods are available ?