2
0
mirror of https://opendev.org/x/pyghmi synced 2026-05-12 17:34:19 +00:00
Commit Graph

920 Commits

Author SHA1 Message Date
Jarrod Johnson d93718e306 Prevent overwrite of existing files.
Fetching new licence keys or diagnostic data should never
overrite existing content.

Change-Id: I41519dc59544165e244b39cef2f510eeb4c0f15f
2020-01-31 10:20:48 -05:00
Jarrod Johnson 9c0843443e Add SMM PSU configuration to bmc_configuration
When dealing with an SMM, give access to the PSU policy
configuration.

Change-Id: Ie6b5016e7db27391ddaa7a798a744f08bfd32ced
2020-01-30 10:09:32 -05:00
Jarrod Johnson 71932ba1c0 Fix IMM/XCC get extended configuration
Was modifying a dictionary while iterating, fix by
taking a list() explicitly before iterating.

Change-Id: I6a6310fabd7d205b4705a2f2216d316be502bbe5
2020-01-29 13:54:02 -05:00
Jarrod Johnson 3799dd3f9b Change API for extended BMC configuration
Keep extended configuration utterly separate to ease confusion
by calling code as to what belongs to which category.

Change-Id: Ic97ad79fa796f63b8825db48059450a4c78f75c9
2020-01-29 11:18:31 -05:00
Jarrod Johnson 27e8e36d23 Speed up uefi settings management
Bypassing the merged configuration makes the command go exceedingly
faster.

Change-Id: I86cb7baa09edfbcffdebf75a2019bf3c48cbe5f2
2020-01-29 08:28:44 -05:00
Jarrod Johnson b4d4734df8 Wire redfish clear config to IPMI TSMA
When using 'ipmi', use redfish to provide reset UEFI
default configuration.

Change-Id: I744136c6ecadc8b0d1ddbdd9be528cf7780758ed
2020-01-27 11:11:17 -05:00
Zuul 2e3c8d4f1e Merge "Show True and False as choices for booleans" 1.5.5 2020-01-23 21:29:33 +00:00
Jarrod Johnson 92771354aa Show True and False as choices for booleans
Boolean settings inherently have choices to
offer, enumerate them for better help text.

Change-Id: Ibce17930f151244eaae0bc02759757c2070627cc
2020-01-23 16:11:39 -05:00
Jarrod Johnson 572c9f9185 Support Boolean types for redfish uefi attribs
BIOS settings set as boolean are now handled with some
sanity.

Change-Id: I77eb3dd3259746ae4739a2f4c255bdc8d62db9d4
2020-01-23 15:27:38 -05:00
Zuul a7900c24b6 Merge "Connect redfish configuration to TSMA IPMI" 1.5.4 2020-01-22 19:53:47 +00:00
Jarrod Johnson ce4f255862 Connect redfish configuration to TSMA IPMI
This corrects the inability to set for ipmi clients
of TSMA devices.

Change-Id: I253ae562bffc6129d41371b9cf4cbc669248b836
2020-01-22 14:35:40 -05:00
Jarrod Johnson e58de7e0b7 Fix python 3 incompatibility in the FPC/SMM code
The use of ord against a bytes object is not supported
in python 3.  Change to a bytearray for compatibility
with both python 2 and 3.

Change-Id: I583c83d88c063aac2c085ac6dac8a23211a2f3eb
2020-01-22 11:24:30 -05:00
Jarrod Johnson fb9b371d38 Add LXPM Lite image management
The SR635/SR655 has an LXPM lite that should be considered firmware
inventory.

Change-Id: Ieb968f20358f42d19e68f54057ea27d458bac002
2020-01-15 16:13:35 -05:00
Zuul 49b804c6d3 Merge "Use python3 for pyghmi builds except Wheezy" 2020-01-14 15:38:00 +00:00
Jarrod Johnson 68ef96a624 Use python3 for pyghmi builds except Wheezy
For all supported debian versions, build
python3 pyghmi except Wheezy.

Change-Id: I9271075cf9e088997a9007341b925dbc7cf476d9
2020-01-14 09:38:42 -05:00
Jarrod Johnson 3cb52cedb7 Fix breakage incurred from 'style fixup' changes
The pycodestyle fixes that were submitted broke a few things.
One it removed the utf8 declaration for code that had utf8 in it, breaking python2.

It also introduced a circular import by moving an import to
unconditionally import rather than conditionally import.

Fix these two issues.

Change-Id: Ibfeccd5b649bd597b7f879bb6124d8bbcbc3ec69
2020-01-14 09:19:40 -05:00
Jarrod Johnson 9960dc570d Remove IPMI only function from Redfish
The force inventory is only available through IPMI.

Change-Id: I2395adf3032f1eb8885885976805984cf7450117
2020-01-09 15:55:04 -05:00
Jarrod Johnson e2c6489c2c Detect indefinitely broken session and mark it
There are evidently scenarios where an orphaned object could
be stuck in logging indefinitely.  Place a cap and automatically
mark the object if it suffers from this.

Change-Id: I60733c1eabb56494ad848595b46240af82c186d3
2020-01-07 16:25:09 -05:00
Riccardo Pittau 90d02c0a03 Use flake8 for testing
Start using flake8 for style guide enforcement.

Change-Id: I9d7c89498c10e682acf0f75bad20dfd4bb6152b5
2019-12-17 16:04:42 +01:00
Riccardo Pittau 4f9103d5a7 Prepare to switch to flake8 - 05
Final wave of changes to prepare to migrate to flake8 tests.

Change-Id: I75c3acfc8b0ab34b82faf7b500ec9c27aa3efa91
2019-12-17 16:02:46 +01:00
Riccardo Pittau e665ced5b4 Prepare to switch to flake8 - 04
Fourth wave of changes to prepare to migrate to flake8 tests.

Change-Id: I92b56e3f6c64acd05fc4e7a65789e836c47f4000
2019-12-17 15:55:46 +01:00
Riccardo Pittau 8abbd9091e Prepare to switch to flake8 - 03
Third wave of changes to prepare to migrate to flake8 tests.

Change-Id: I4cb1347337b19ac890c17641c5c613f1972bcdc8
2019-12-17 15:13:19 +01:00
Riccardo Pittau ae21ae184d Prepare to switch to flake8
Second wave of changes to prepare to migrate to flake8 tests.

Change-Id: I0bf7ad7575eacac63e2e4d6f4066c8f51587943c
2019-12-16 17:20:07 +01:00
Riccardo Pittau 7f53f903da Prepare to switch to flake8
First changes to convert to use flake8 for pep8 checks

Change-Id: I4e8abf9cade63c7c3570006dd84c22afd2df7b29
2019-12-16 10:51:59 +01:00
Jarrod Johnson a0c3adf478 Add missing generic stub for detach_remote_media
The generic oem handler needs a stub to allow the generic code to work.

Change-Id: I565625e575c5e8afb3ca3d1b5ebd468a08b01fbe
1.5.3
2019-12-15 19:40:33 -05:00
Jarrod Johnson a1fe180e04 urlencode was not properly imported for py2/py3
This function move was not accomodated everywhere.

Change-Id: I31839b84e750b0fc25a379db640193366a14c8c4
1.5.2
2019-12-12 10:01:05 -05:00
Jarrod Johnson 14cefc6502 Fix Python3 SMM setting
Under Python3, indexing a bytes gets a number instead of a str,
adjust to bytearray which is number in both 2 and 3.

Change-Id: I249729c2287bb58dd764a627c298c74e5ebb50cc
1.5.1
2019-12-11 10:00:50 -05:00
Rabi Mishra a1cea91038 Add python-dateutil to requirements
With change I1b5ad99c89d8dec0abd18b1f794dabdb0aed13c3, parse module
has started using python-dateutil, but it's not been added to
requirements.

Change-Id: I779f654f4529e863b8feeaebc20ee7467176ad75
Closes-bug: #1855983
2019-12-11 12:23:29 +05:30
Jarrod Johnson 2bf19d3128 Fix modification of input headers.
When given custom headers, webclient was persistently leaving
the Content-Length modified.  Fix by making a private
copy before potentially modifying it.

Change-Id: I2de5268ffc35a725e7b9d360214eab498d2ac788
1.5.0
2019-12-10 11:44:14 -05:00
Jarrod Johnson dec668cc21 Convert BadStatusLine result
If the BMC violates HTTP specification,
just make it equivalent to a 500
error.

Change-Id: I66f5cb5b39f03a6c738b1e52e596fd6bdc73c0bd
2019-12-05 15:25:27 -05:00
Jarrod Johnson 1c50fcbcfe Fix incorrect HD path
If HD was mounted without CD, it was incorrectly
referring to CD path information.

Change-Id: Ifa6e1fb4db60afc1b9b2d67054fe4102809f7643
2019-12-04 13:52:05 -05:00
Jarrod Johnson de25adb4f1 Handle 109 on verifystate
Sometimes the 109 comes later, depending on the circumstance.

Change-Id: I19ff60bb0ff1a2a431b7a80bf680711c01a5c6b2
2019-12-04 09:26:02 -05:00
Jarrod Johnson d34945846e Provide better error on XCC 109
The 109 error code means the file was not
recognized, which can mean the file is incorrect
or that the update provided is not one that
supports remote update.

Change-Id: I4437916b5812b9cb0dfb9e92460a2f8a7c850849
2019-12-03 11:38:10 -05:00
Zuul 6a9f5ea6cc Merge "Make fishclient optionsal on list_media" 2019-12-03 16:29:15 +00:00
Jarrod Johnson 810a75821d Make fishclient optionsal on list_media
tsma is shared between IPMI plugin and redfish.
Since IPMI doesn't provide fishclient and tsma doesn't use
it anyway, make it optional argument.

Change-Id: I0bd9e72c0aae713b96a8ef28244e7182dcc1e1a7
2019-12-03 11:08:16 -05:00
Jarrod Johnson c469f22a2f Fix some issues with service data
There were a couple of issues that are inadequately
explained and also a chance of failing during report
on the download.

Change-Id: Iac358f6f6b96925aa823d49fb94a320a99a90c23
2019-12-03 11:04:53 -05:00
Jarrod Johnson 6c1f7dd079 Add a 'not ready' for overview fetch
If the fetch does not have 'Systems', it seems to
mean the redfish subsystem is not ready yet
on the target BMC.

Change-Id: I6935ab31d090185e1bcc43364e8fc306f5635975
2019-12-02 15:41:24 -05:00
Jarrod Johnson 3b3204b8bf Stop assuming a return for select
The code no longer uses tmplist for anything.  It has been observed
that select.select may return something other than a 3 member
tuple, so become apathetic about the nature of the return.

The fact this can happen is in all likelihood a bug in the select
implementation, however it's hard to nail down and easy enough
to tolerate.

Change-Id: Ib13a6dcce0809f9c2c4d9f02e19adc9de818f3fb
2019-12-02 14:50:06 -05:00
Jarrod Johnson 2a40dd8cad Implement diagnostic data for SR635/SR655
SR635/SR655 presents a distinct interface for getting support
information bundle. Implement that interface.

Change-Id: I38b2196b743a50f02702a6ffb3e538ddf0587984
2019-11-26 13:34:38 -05:00
Jarrod Johnson 68e45b919f Extend TSM remote media to redfish mode
Refactor TSM core as needed to support OEM list
of media.

Change-Id: I2be297af57a9d02950cc8c081523fcc004c5fee2
2019-11-26 11:23:12 -05:00
Jarrod Johnson 2adaf00bd2 Add TSM remote media support
For the SR635/SR655 implement the media management commands.

Change-Id: I9675729c3ca3ebe07f770fa1504eb347953dd715
2019-11-26 09:56:58 -05:00
Jarrod Johnson 9bff4096b1 Add debug in case of failure to retrieve TSM
This could help ascertain why the information is
missing upon occasion.

Change-Id: I41133cc168eafd90938c6dbb54a73ff214abdb21
2019-11-22 09:36:01 -05:00
Jarrod Johnson 9d5e570f0e Check HTTP viability before use
If the session is dead, have the wc property function discard and
re-establish the connection, rather than passing the useless
stale session to the caller.

Change-Id: I701c396ac9eedc1749b13c196e19fb1c4e996001
2019-11-22 08:45:26 -05:00
Riccardo Pittau d5213a7369 Drop old Python versions
Python 2.6 is dead since a while and we should move out from
Python 3.5 in favor of Python 3.6 and Python 3.7

Change-Id: I36ff0e1bc1db018bb7cce00a741682125aca4ac4
2019-11-22 12:19:11 +01:00
Jarrod Johnson e2c1b68608 Fix use of ord() in remaining places
There are some places with leftover
ord() calls on a bufferview.  Normalize
to 2/3 agnostic way.

Change-Id: I8ca51d6477990de072dece6c8bd346d0d6105af6
2019-11-21 15:35:31 -05:00
Jarrod Johnson 4adf5a049e Fix some redfish incompatibilities
Some implementations require etag to set the identify light.

Some implementations do not provide the allowable reset values up
front and require chasing yet another url.

Fix an issue where a temperature sensor
without available reading caused an error.

Change-Id: Ie0b3c880b311438938d016857e4466c55447f7a3
2019-11-19 14:32:26 -05:00
Jarrod Johnson 430ae6f171 Add PSOC update to SR635/SR655
This enables update of BP from update
file.

Change-Id: Ic9bf4600abd07cc43504116c1ee407918bcc070e
2019-11-19 13:25:43 -05:00
Jarrod Johnson 929cd5b566 Avoid telling a server to enter existing power state
Some redfish implementations do not handle such a request
gracefully.  Avoid sending the command if the command allegedly
would have no effect.

Change-Id: I21b3ce18bb37747b71a67cbd0268d227ade6aad9
2019-11-18 09:14:08 -05:00
Jarrod Johnson 2311bc9f0b Fix potential for loop on mark_broken.
If a session is doing a best-effort 'logout' due
to a mark_broken scenario, do not activate the
timeout logic, which will cause it to endlessly
recurse into itself.

Change-Id: I9b84d3138f161cc982dd1107586d31be68523108
2019-11-15 10:31:54 -05:00
Jarrod Johnson 114e908947 Try to deactive SOL on logout
If we have an sol_handler, request SOL deactivation
on the way out.  This works around issues on select
codebases where IPMI stack state gets corrupt if a
payload is active during ipmi logout.

Change-Id: Ie1bcada6206c340bb954e5d5c8a99678e1d3162c
2019-11-12 09:39:04 -05:00