This change allows IpmiServer objects to be created with bind addresses
other than ::. It is useful when multiple BMC processes are running on a
single server, with each bound to a different nic.
Change-Id: Ice82bf788269a31819e4495e15b9ce19a1dd057b
Since change I8f566543c8da28eb7ed76f1cb80ff4cb2dcbba96 openstackbmc has
failed to start with the error:
socket.error: [Errno 22] Invalid argument
Moving the early bind so that it is only done when there is no server
specified has fixed the regression for openstackbmc.
Change-Id: Icb16cdc386fb08b54f28b7dff235eb697f1450ee
When logging out, the session is obviously not logged
after the request to logout has been processed. If
retry is False, do not be surprised we don't have a 'lastresponse'.
Change-Id: Ia5cbdab3736148fa36ced8835bd8d9fdca1dc12d
As of recent System X hardware releases, the mfg/device id
values are now ambiguous. Go deeper in the tsm detection
to assure the system is indeed a TSM system rather than IMM
or other.
Change-Id: Id63d015bf03e9ea9501503543effd31e01691b31
When something requests logout in the middle of a command request,
bail out with 'session no longer connected' rather than infinite loop
waiting for lastresponse which should never come.
Change-Id: I9a8592a72b687f90bc044bbe48fd87d79b35d780
If a FRU device presents data that pyghmi does not understand,
treat it the same way as if it were not present, do not decode.
Some systems simply do not have usable FRU data despite having a
pointer to a FRU device.
Change-Id: I440cee3366b5da4555b67b41492fa017dbe3dcef
TSM NTP enable retry could trigger the TSM to lose its
mind. Workaround by having a large, custom timeout for
NTP, to either get positive acknowledgement or timeout,
even though no retransmit would occur.
Change-Id: I3f83e5a1f1e1957bad119951c7e73ade5154b351
Some TSM FRU elements do not have a FRU entry. They may
be marked by all spaces, all 0xff, or all 0x00. Skip UUID
if it is one of these obviously invalid values.
Change-Id: I90c8bbe3c66754bcb6d6200b63a2ff2c29ae63ec
For one, was doing UTF-8, though the encoding strictly speaking
per speac should be ISO-8859-1. Corrected that mistake. Also
workaround an issue when FRU may be programmed with 0x0 or 0xff
bytes to terminate, or spaces. The spec actually doesn't speak
to a strategy to pad strings (presumably because they assumed
implementation would avail itself of the capacity for variable
strings and not need to deal with silly fixed length fields).
Handle this by trimming out trailing spaces, 0x0, or 0xff. This
strictly speaking violates the spec if they want to use one or more
ÿ to end a field, but will take the risk that no one actually would
want to do that.
Change-Id: I7d7e3aa9f3fd2b1e1af75f98cabd49ca374755c0
When data came in from a BMC before acking a recent
transmit, pyghmi would pessimistically take that as
a cue that the data was missed in transit. However,
if the data happens to be on the wire before an ack
that is coming, this is a senseless retry. This
retry happens typically within a few milliseconds of
the original. Fix this by ignoring the non-ACK related
data as a cue for doing a retransmit.
Change-Id: I871377da0265a5e258baf922252ae86df6c578b0
Unicode data probably won't work, but to the extent it could
work, it would be incorrect to do length on the unicode rather
than length of the utf-8 encoded data.
Change-Id: Id39484abff603fdaab421f3395063b17edd3ae15
The lenovo oem handler was erroneously unconditionally applying
Thinkserver LED queries to system x. Correct by checking for a
TSM prior to making the request.
Change-Id: I202942743a1040516f80ea5a2655037d19a5c59a
The 'policy number' appears to be indicating a set rather
than a specific rule. Since PEF from various manufacturers
tend to use alert set 1, use alert set 1 for now when creating
a new policy.
Change-Id: I646c81baa3167f3fc076140494f7e8e564e7c0bd
Provide a framework for augmenting configuration with NTP data
and implement it for Lenovo thinkservers
Change-Id: I87dc79549619b8d912425a26d56d73f515630981
DCMI provides standard commands for accessing/setting asset tag and
BMC identifier. Provide access to those facilities
Change-Id: If3f99d308e5b37ff3e99f19fd804f00a74bbb561
If an alert destination is set, there is no guarantee an
alert policy will actually use it. Have the set_alert_destination
go through the alert policy table checking for an entry that references
the most recently set value, creating one if no match found.
Change-Id: I6bef40dddb18ababb3d85bb02e5d0ae73c82df2f
Rather than break on bad sensor data from a vendor,
delete the records that are likely to have bad data.
Change-Id: I6417cd60b2f12e8979e25b3240a086a8aa5377ad
When completing RAKP, but denied by set session privilege level,
just repeat set session privilege level at lower privilege
rather than trying to go all the way back.
Change-Id: I3cc10320e81b8a3db3ebb7b17026f0d233e0b808
As a complement to the previous change to read network configuration data, accept configuration
input and submit to the BMC.
Change-Id: I3d29237c98943fc93c160450861ac9c5d8e7758d