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
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
Use standard IPv4 related configuration parameters
to fetch relevant data for basic network connectivity.
Change-Id: I2b93da5be0196ff5f15e240ed8f8e0fd819ddd54
The physical security related events/sensors
were confusing. Reword them for better
understanding.
Change-Id: I033b07195848123494d30d9826f441bba140fd10
Sensor readings have new fields added, allowing some callers
to use easier comparison and lookups. For example some
may want to have a full setence string for permutation of
reading types, sensor types, and specific event.
Change-Id: I743a32777259516f8febf5a0a62757ce5a4cee59
The IPMI 2.0 spec allows 20 byte passwords.
If a password is less than 16 bytes, then use
the 1.5 scheme as before. If between 16 and 21,
then attempt IPMI 2.0 scheme. Raise when over 20.
Change-Id: I25016b8608d9dbf5d436afd75bd07f0d4eed6d81
When an alert is received, decode the
provided timestamp. Additionally apply
the time correction logic as used on the
event log data.
Change-Id: I2534f3b8288739e1b50fd335d878e9c4b5458b28
User deletion has some limitations making the function a best effort.
Document this and provide at least one additional attempt at deleting
a user to cover more vendors. This still does not cover all vendors,
and OEM extensibility is likely to be the answer to allow this to
cover more implementations.
Change-Id: I6af3f761c587f9eb8b58b3408052d6585847f7d6
Have monotonic_time reworked to use Windows function
when available. Eliminate use of an os.pipe to break
into the select. When we want to interrupt the select,
use the first udp socket as the angle to break in.
Additionally, provide a Windows friendly value for
IPPROTO_IPV6 should the socket module fail us.
Change-Id: I8f566543c8da28eb7ed76f1cb80ff4cb2dcbba96
The PET acknowledge code was incorrect. Fix it by
properly extracting the fields by index and fixing reference
to self._ipmicmd and also do not treat a failure on acknowledge as
an error for now.
Change-Id: Icafc21807a59e53acf3249170450bf4dbeee9e5d
When a bad username was supplied, an attempt to start over
was done without resetting the state machine of the retransmit
facility. As a consequence, it failed to actually proceed in
restarting the process and would time out rather than returning
the appropriate error.
Change-Id: Ib3207c214fcf96f0dcdb8c4ca3b5387fb58ce1ae
If CPU inventory is unavalible, proceed to get memory inventory.
If memory inventory is unavailable, cleanly omit the data.
Change-Id: If9d5eec1aa5dcc7a2800e30636ff4cedee48a311