2
0
mirror of https://opendev.org/x/pyghmi synced 2025-02-04 21:12:47 +00:00

1281 Commits

Author SHA1 Message Date
Jarrod Johnson
79b894c9f5 Allow fast setting retrieval for Purley
While it must not be used with redfish,
it is ok to use the fast path even though
setting requires IPMI.

Change-Id: I57de25e0ed0bb125adab42916429eca1e29f2392
2023-01-24 10:59:56 -05:00
Jarrod Johnson
25a04fd87b Support non-PCI adapter firmware inventory
There are non-PCI adapters that are modeled as 'adapter',
but without corresponding adapter data.

The inventory data is more limited, but we can at least report current
firmware.

Change-Id: I42d17befe1f95fde3b88304418743f1ac456eedd
2023-01-24 10:20:34 -05:00
Jarrod Johnson
7b5e641635 Avoid using broken UEFI configuration on Purley
Purley has a partial implementation, must avoid trying to
use it.

Change-Id: I4291f425bf49b746f07d1204fbf89d650d3308b3
1.5.57
2023-01-17 09:15:33 -05:00
Vlad Spoiala
4a064e7cc6 Fix fnmatch import.
Change-Id: I0256149c169a1f15a4956795f65562d6d3fd5034
2023-01-16 19:03:40 +02:00
Jarrod Johnson
e2b91a240d Add IPv6 configuration for redfish and IPMI
Add basic static configuration hooks
for now.

Change-Id: I754f4cec7127ea9a03bf9101a6a4732eae88d583
2023-01-13 09:56:25 -05:00
Jarrod Johnson
5422e523c2 Validate fapm data availability before use of fapm
Some platforms do not offer fapm data, but offer a successful result
anyway.

Change-Id: I637411148a3f7e4628cc1edcd1712739438102c9
1.5.56
2022-12-13 15:32:48 -05:00
Jarrod Johnson
f94a79a821 Leave Purley generation on the IPMI path
Purley has an incomplete redfish implementation for uefi settings,
blacklist it from the new way of pushing settings.

Reading settings seems fine, however.

Change-Id: Ie8baf50e11b05e2cafa644c414970ceeaaa35dbf
1.5.55
2022-12-01 11:40:26 -05:00
Jarrod Johnson
d669fb33db Fix expectation of return on bmc reset
Change-Id: I59f0b2dff2792ea704ebd7457f1874e050dfc618
2022-12-01 10:20:39 -05:00
Jarrod Johnson
fc9d92da73 Add support for custom role names
While IPMI has well defined
roles and redfish has some well-defined
starter roles, permit management
of users for custom roles.

Change-Id: Id6ff87a8ccbb12491adc37b460765d4eadf2c92d
2022-11-30 15:52:28 -05:00
Jarrod Johnson
2a525bb1e6 Do not expect a reply to bmc reset
Some devices will never reply, be optimistic about the
reset making it through the network

Change-Id: I912dab9c25d4041e2e8b1b1db8dc9d26d5830ea0
2022-11-30 11:26:56 -05:00
Jarrod Johnson
0eef3fcfba Use Lenovo OEM system configuration
For newer systems, provide access
to the richer configuration in
the proprietary Lenovo interface.

Fall back for standard for older platforms that still require IPMI
for that configuration.

Change-Id: Id66515f00116ce3c22fcba80c0003cfb9e6b1a5d
1.5.54
2022-10-31 17:00:13 -04:00
Jarrod Johnson
79ac63f409 Refactor system configuration management to OEM
Permit OEM override of the standard redfish BIOS attribute
mechanism

Change-Id: I26e63d12ed830fb7747fc5786c0c9be955671de0
2022-10-31 15:38:08 -04:00
Zuul
c78d1883e3 Merge "Add support for HTTP access to system configuration" 2022-10-31 17:00:50 +00:00
Jarrod Johnson
9ea660178c Add support for HTTP access to system configuration
In V3 systems, IPMI has been replaced with HTTP calls for
system configuration.

Change-Id: I3d17db6aaaacafb33f46f22379ac4c824d0c5375
2022-10-31 12:51:37 -04:00
Jarrod Johnson
2557e83957 Support newer python is_alive method name
Python changed isAlive to is_alive, check and adapt
if the running python killed off the isAlive name.

Change-Id: I0369aab0308d6f2d9d7de489b6e1f9c3f2365204
2022-10-13 18:01:24 -04:00
Jarrod Johnson
25b955d3f5 Correct typo in imm.py
A mistake was made in the user privilege section of the oem extension on IMM

Change-Id: I7d0d8f35267ab30d7a95de174b3219402c1dd228
2022-10-05 08:27:43 -04:00
Jarrod Johnson
76af0fd66a Extend IPMI privilege to redfish role
The XCC conservatively holds back administrator from IPMI
access.  If an IPMI request comes in, add
a corresponding redfish to make
the user actually have the requested role.

Change-Id: I4c360388fa487256df382f0f4afc74cd1d1f69a1
2022-09-30 09:18:43 -04:00
Jarrod Johnson
8156a63c2b Implement OEM user deletion
The redfish and ipmi standards do not provide well for standardized
user deletion consistently implemented across vendors.

Provide a hook for an OEM handler to go into vendor specific
behavior to provide a more reasonable deletion.

Change-Id: I7131edbb6dbab31d205eef664e68d721f33b4422
2022-09-27 16:14:20 -04:00
Jarrod Johnson
527846e322 Add support for new RDOC API
RDOC API is changing, must detect
and adapt to change.

Change-Id: Id85f51874d8a57ab996c508815970f670bc1cfbc
2022-09-27 10:32:27 -04:00
Jarrod Johnson
212fbc265d Correct mistake in the security mode change
Change-Id: I135c2bc16c9ca341a5bb7e68aba05fd22b660b30
1.5.53
2022-09-23 08:28:52 -04:00
Jarrod Johnson
308b1d49be Implement XCC cryptography settings
Change-Id: Ib883726bae3e0113499c40d4fb70da6348a48011
2022-09-23 07:59:50 -04:00
Jarrod Johnson
7d0bfd32ff Add reset to defaults to tsma
Change-Id: I43834f8126e8e6f7e3bdb219dc299d6d597cfd64
2022-09-09 13:22:27 -04:00
Vlad Spoiala
cef0cdc5fa Only use one extra keep alive session.
Use only one extra keep alive session for keeping the media
mounted. Do a weblogout on that session when the media is
detached.

Change-Id: I3012d263510ba97477542e1325876000f2a52356
1.5.52
2022-08-30 16:38:37 +03:00
Jarrod Johnson
44d2ccd440 Fix the SMM timezone treatment
Change-Id: I32a52492a0b0f50e49b347aa37367495168eb2a3
2022-08-29 09:54:05 -04:00
Zuul
76b36bf4b9 Merge "Migrate V2 and newer systems to new meters" 2022-08-29 13:51:28 +00:00
Zuul
c0b158d664 Merge "Interface to implement get guid command" 2022-08-29 13:49:17 +00:00
Jarrod Johnson
f5a975fb7a Add TimeZone to SMM configuration
Change-Id: Ic25675a7f7d0bd45018ad12c83bb95a2ebbcd4f2
2022-08-24 16:11:06 -04:00
Serhii Skrypnik
a9118d4463
Interface to implement get guid command
Add method get_system_guuid which return uuid.uuid4 instance

Closes: #1987210
Change-Id: Ifb4438f7e7c0bc565fcdfe2bd7ff285200b5efc8
2022-08-21 18:39:32 +03:00
Jarrod Johnson
d99c07ce81 Fix web role setting on SMM
Newer variants also require the special treatment,
switch to blocking the only variant that is unsupported.

Change-Id: Ifc679dd294d445f218c0b504d286155ac3e315d6
2022-08-19 09:09:35 -04:00
Jarrod Johnson
b4e597ff83 Migrate V2 and newer systems to new meters
New proprietary commands are going to be used with a bit more
capability.  For now, migrate existing DC energy over to new command

Change-Id: I30a003c4d45f4a0d591c80c55f1c267333f1123c
2022-07-08 10:25:29 -04:00
Jarrod Johnson
5f1ba6038f Add more info to SMM inventory output
Change-Id: Id2da97b6efad246a11153fa3bfdff3c7095530c0
1.5.51
2022-07-07 12:59:49 -04:00
Vlad Spoiala
26be05fd30 Improve Whitley vs Purley storage API detection.
Trying each API call in any order doesn't work correctly for all
cases since the API call for Whitley incorrectly returns success
on the newest Purley firmware and vice versa. The Whitley volume
properties have some extra keys in them. Use one of the extra keys
to differentiate between Purley and Whitley.

Change-Id: Ia18631ec16107492e8753eb4312c56171ebd33f0
1.5.50
2022-06-28 18:20:53 +03:00
Jarrod Johnson
fa37941aee Remove DIMM temperatures from XCC sensor
These sensors are very slow to fetch and
slow down readers needlessly for low
value.

Change-Id: Ic498dff5f669f6d2610e6998af7f3693591c40c4
1.5.49
2022-06-24 10:32:27 -04:00
Jarrod Johnson
521630fa7d Mitigate web session consumption
If called in parallel, multiple sessions may be opened without
the old one having a chance to be closed.

Serialize any attempt to concurrently login to
keep the sessions down.

Change-Id: Id389ba1caf89897b00845be394509d489186272d
2022-06-23 16:06:13 -04:00
Jarrod Johnson
4990665d10 Revert assertion mask usage
Unfortunately, different devices apply this
in different ways. The impetus was a BMC that
was incorrectly returning a bad reading, and a
thought toward using the assertion events instead.

This has two problems, one is that this mechanism is optional, and for another
the caller is expected to manage the arming.

Go back to using the sensor reading to let the BMC
mark on-the-fly the state.

Change-Id: Ie61d4b8427905171b32f6998a80806f1027660d6
1.5.48
2022-06-22 10:12:48 -04:00
Jarrod Johnson
ff67d84ec6 Update to newer XCC storage syntax
Two new variants of XCC storage cfg have
occurred, detect and handle them.

Change-Id: Ie53f53093b5737a4930ecb420b087a15d8149796
2022-06-21 09:57:07 -04:00
Jarrod Johnson
6226d4bb29 Correct the choice of slow/fast timeout
Change-Id: I2237dcc9cda84805134c1c369a9f68d31558d59d
2022-06-15 12:02:16 -04:00
Jarrod Johnson
5b2cc5bea7 More aggressively timeout on unconnected systems
When setting max timeout, select a more aggressive timeout
if recent connectivity hasn't been confirmed.

Change-Id: I806d0cddb53e4e2246c6de86e561dbd658a76256
2022-06-15 10:50:21 -04:00
Jarrod Johnson
966c8709f8 Fix handling of 'blocked' slots in FPC
FPCs represent blocked slots in a peculiar way,
as a node that is in 'standby'.  Avoid explicitly
considering the power permission state of the
permission state is standby.

Change-Id: I801165e3e45fe1e4b7a8f7b4bc19b4ef9bee763f
1.5.47
2022-06-14 12:50:33 -04:00
Jarrod Johnson
13880391c8 Avoid creating onlog loops before established
The mechanism to carry over a payload into a new logon
could inadvertently carry over get channel authentication
for example, creating a very confused state.

Change-Id: I29f399006f0c210c80f726e3eb494d3e8b0c3992
1.5.46
2022-06-14 09:17:17 -04:00
Jarrod Johnson
a9258c1e9b Add SMM2 VPD to configuration for SMM
Change-Id: Ia7a4b804a645a36c212404f3429c42b26938210e
1.5.45
2022-06-07 13:03:23 -04:00
Jarrod Johnson
5c32d4d11d Add port forwarding over usb to bmc settings
This enables manipluating the feature in XCCs to
allow network connections to forward over USB port.

Change-Id: I577d6952e0dab4b9a9df8b6118fc75ed0173d366
1.5.44
2022-05-26 11:44:17 -04:00
Jarrod Johnson
5f63810884 Allow virtualmedia on Systems instead of Managers
Redfish now allows a system to opt to place virtual media
on system rather than manager.  The rational being that
remote media has to be mapped to specific hosts, and the
manager relationship to that media can be implicit.

Try the system first (more specific) then fallback to traditional
manager location for virtualmedia.

Change-Id: I5d63b5e57572c6a753a2d86adb223335a15a71ea
1.5.43
2022-05-20 07:29:02 -04:00
Jarrod Johnson
d286a8326a Clean up socket on deletion
Some resources are leaked on deletion
of a webclient without explicit close, improve
by destructor.

Change-Id: I91d313125bf79f83c3cd07e12e573b2bdd5a95ef
2022-05-18 16:26:45 -04:00
Jarrod Johnson
582598c2ef Rework the relog logic
Various issues have been associated with trying to
reinitiate a session during a 'timeout' scenario, attempt
to clean up the various scenarios where it wasn't originally
designed to survive across a relogin.

Change-Id: Ifd9c8e98070217a1b0f4a35c8e0851a063b77800
2022-05-17 15:32:37 -04:00
Jarrod Johnson
65c8f4ec32 Execute internal cleanup on logout
If not logged in, continue to skip trying to reach BMC, but
do fire off internal cleanup.

This is technically an oversight, made worse by the recent changes
to 'unlog' as part of retry.

Change-Id: I0825c1f77decb81694f897b904a19a2f59587055
1.5.42
2022-05-11 12:21:08 -04:00
Jarrod Johnson
45dc3bad83 Ignore stub log entries
Some BMCs implement entry logs that are
not actionable.  Trim those out to avoid empty data
for a user to scratch their head at.

Change-Id: I05ea62cdd3a56dfdeea4080774ec5a67a651824f
1.5.41
2022-05-10 08:23:21 -04:00
Jarrod Johnson
68cca2e34f Clean onlogpayload on timeout response
Change-Id: Ic0050140797016f02c7b292bae1ca0f3cd4e8c3a
2022-05-09 15:16:24 -04:00
Jarrod Johnson
64a40abcc3 Handle XCC not sending thermal data in some situations
Treat missing items member as no data to properly move on
from this condition

Change-Id: I14623e513ec91411978019b088e0f9e36889796b
1.5.40
2022-05-09 08:58:53 -04:00
Jarrod Johnson
2a5f9fb7ac Add SMM virtual reseat
Change-Id: I6b9badd2e3e1e13cdf7918cc17b7a715a58a45d8
2022-05-06 09:36:09 -04:00