Python2 bytes type cannot be compared to number.
Coerce into a bytearray to have python2 treat
them as numbers.
Change-Id: I8522b1eb74f4b7aebfa6a0fa68107a0df947c7f6
Reseat returns success even when it
is not performed. Check for
shared io blocking prior to actually
attempting. This allows us to catch an error the firmware should have.
Change-Id: I683382236c0dc0683eba69d36e726056782aab10
Bump the cache version and just move away
from pickle. Upon closer thought, the
data being retained doesn't warrant a generic
format.
Change-Id: I3ba2b17eb2202cf64c8c0cdbf91addaf1325b5f0
While a cache is expected to be protected, mitigate
dangers by blocking code from being stored in pickle.
Change-Id: If3b942dd028da8580ec3f74e94081b30446ab8d9
Technically, the BMC is in error returning non-utf8 encoded content,
however, of *course* some BMCs fail to do so. Fallback to iso-8859-1
which will probably have bad data in a value somewhere, but it won't
break the entire parsing.
Change-Id: Id7c3c507a0eeb4c31ca52cfadf6ac77deefa3869
The capacity str may be GB or GiB or TB or TiB now.
Unfortunately, there's no normalized numeric in the api right now.
Change-Id: Iccfb6e837a0f2d5ac516c3e908c663bbddda2ed3
iDRAC does not support standard
redfish boot devices, provide oem override
in such case to use the OEM interface.
Change-Id: I53d7bb1d82035e621802c20f46000760cc8631a8
Certain redfish implementation only allow manipulation
of remote media through Actions. Detect when relevant
Actions are indicated and use them if offered.
Change-Id: I4eac9e5f4edb111f45551280fd98cdbc9c10c178
Previously, looking up an unknown OEM resulted in an exception being
logged:
exception while get_oem_handler, oemid:{'device_id': 32, 'device_revision': 1, 'manufacturer_id': 10876, 'product_id': 2414, 'firmware_version': '1.73'}
Traceback (most recent call last):
File "/omd/sites/plutex/local/lib/python3/pyghmi/ipmi/oem/lookup.py", line 43, in get_oem_handler
return (oemmap[oemid['manufacturer_id']].OEMHandler(oemid,
KeyError: 10876
So while I was at it, I also reduced duplicate code.
Signed-off-by: Jan-Philipp Litza <jpl@plutex.de>
Change-Id: Ib2483aeb3f92bcafbaa877eb1c0318a385f97474
Unrelated issue can derail an update process. Make pause
unlikely to throw unexpected issues, but print it out
just in case.
Further, give a hint when one specific scenario comes up that was
seen and hard to debug.
Change-Id: I635d3fc8df10b9bee9fc261d88beb7002b689a7e
While receiving the SDR, when the size is uneven, its division by 2
causes it to become a float instead of an integer, leading to a
TypeError later on:
Traceback (most recent call last):
File "gipmi/sdr.py", line 634, in __init__
self.read_info()
File "gipmi/sdr.py", line 665, in read_info
self.get_sdr()
File "gipmi/sdr.py", line 740, in get_sdr
sdrrec = self.ipmicmd.raw_command(netfn=0x0a, command=0x23,
File "gipmi/command.py", line 500, in raw_command
rsp = self.ipmi_session.raw_command(netfn=netfn, command=command,
File "gipmi/private/session.py", line 779, in raw_command
self._send_ipmi_net_payload(netfn, command, data,
File "gipmi/private/session.py", line 819, in _send_ipmi_net_payload
data = bytearray(data)
TypeError: 'float' object cannot be interpreted as an integer
Change-Id: I3e123487b27ef385823b1a20652195c7588f5d6c
Add bridge_request argument to set_power and get_power so that the
power request can be sent to the remote target.
For example of the usage:
ipmi_cmd = command.Command(bmc, userid, password)
ipmi_cmd.get_power(bridge_request={"addr": 0x20})
Change-Id: I80428f8fbbec3fab905537df5000007fa20d2e92
A change imposed a one second delay
on get_power_state unconditionally.
Fix by changing back the way it was.
Change-Id: Ib94d9dfe086146c446cd57d0228c13c8d7aa2116
The change to handle lun in decoding broke
construction of the acknowledgemennt in the PET
path, fix to go back to previous PET handling.
Change-Id: Ib20e67cd9462d846cb3d925a5c8989eef6140e8b
If a web session is getting refreshed
by some function, do not weblogout
behind its back.
Wait until no refresh activity is detected
to perform weblogout.
Change-Id: I3fec8ecf84e153169fa5fd10745b1f323950085f
This carries forward the configure 'default' nic for
systems that nominally have multiple interfaces.
Change-Id: I5916efde5aa57d7682fe08eff0fdc8864d79aa52