2
0
mirror of https://opendev.org/x/pyghmi synced 2025-01-13 11:17:47 +00:00

572 Commits

Author SHA1 Message Date
Ilya Etingof
12a83bc6de add lower-constraints
Create a tox environment for running the unit tests
against the lower bounds of the dependencies.

Create a lower-constraints.txt to be used to enforce the
lower bounds in those tests.

Add openstack-tox-lower-constraints job to the zuul
configuration.

See [1] for details.

1. http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html

Change-Id: I0f8b1bd44cd2f401593ce079cdecce5020807051
2018-05-16 15:38:38 +02:00
Jarrod Johnson
c25046b23f Handle missing properties
Missing properties happen on older firmware, return
blank info.

Change-Id: I1972ab95a15ebe86180462158d3ea78a2c3b4a1b
2018-05-15 13:02:55 -04:00
Jarrod Johnson
f8c92bd9de Update to newer hacking
Fix some complaints, mask others for now.

Change-Id: Iba4adf30131724db401fe2ee773975942fd58fd2
2018-05-15 11:39:15 -04:00
Dmitry Tantsur
adb8f1cf56 Do not run functional (API) tests in the CI
These tests exercise Ironic API with the fake driver, thus they provide
no coverage for pyghmi and can be excluded.

Change-Id: If75f60afc3feb900b91a893299eb5f3cc4e6091c
2018-05-07 15:46:04 +02:00
Jarrod Johnson
1eb6577c20 Support '=' as a list delimiter
The ASU utility had created an expectation of = delimiting.

Do not advertise it, but also do not break when faced with that
expectation.

Change-Id: I32c58db3d8be141d50f0d77b85c29371094a8e12
2018-05-03 14:44:26 -04:00
Jarrod Johnson
758507764a Normalize spaces in values and candidates
There are some uefi configuration options that have a confusing yet
specific number of spaces in the setting.  Improve the experience by
normalizing all whitespace to single space in the candidate and
the value to select the correct one that will make it to the system.

Change-Id: I6b3e162fbaff342077bb16ebcdf492a84dd67529
2018-04-20 17:11:18 -04:00
Jarrod Johnson
237cf886ac Revise the FPC fix
It turns out that the root cause for the behavior was subtly
different.  Update to handle the new formats.

Change-Id: I6dbc3793e377d24a6eae6fb97d592dc0813ddf07
2018-04-13 11:13:19 -04:00
Zuul
053d8a8e88 Merge "Check the status for no power permission" 2018-04-12 21:46:11 +00:00
Jarrod Johnson
792e32d243 Check the status for no power permission
It is possible to assert no power permission without providing a
reason.  Check and add the no power permission state explicitly in such a case.

Change-Id: I48b81217405fc63a1d5b4772ab9e338b85d79204
2018-04-11 15:12:39 -04:00
Jarrod Johnson
c39e463c67 Prefer cyrptodomex if present
For compatibility, accept PyCrypto.  However if Cryptodomex is present
(explicit version of cryptodome), use that.

This is an easier path to a modern supported AES implementation that
continues to support older, but still prevalent long term linux
distributions.

Another project required cryptodome, and evidently it caused problems
due to some interoperability with things that truly needed PyCrypto.

Change-Id: I3c0601bc0b6ae56417e712b50337ec1c20eb89a2
2018-03-30 13:30:02 -04:00
Jarrod Johnson
5c5a0269d7 Add hostname for FPC and XCC
Provide access to hostname and dns domain on FPC.  Also, make the
webclient a bit more robust.

Change-Id: I7176adf821a01c5cf7f20cc8227118a6b8dbd4a3
2018-03-30 08:46:22 -04:00
Zuul
3db33fafb5 Merge "Have logged set to 0 early" 2018-03-29 16:09:52 +00:00
Jarrod Johnson
d026898b2f Improve performance of get_health for XCC
Provide a quicker health assessment for XCC.  Generally provide
a way for OEMs to replace or augment or conditionally replace the
generic behavior.

Change-Id: I54c9b9a91aabd6025d17d65846be164b87694019
2018-03-29 09:33:38 -04:00
Jarrod Johnson
91324ec356 Have logged set to 0 early
The logged attribute is not guaranteed to exist, which
can cause certain actions early on to produce a trace.
Make sure it is present and accurate.

Change-Id: Ifb646e60c5fc2880819d21831979e875239a3349
2018-03-29 08:49:24 -04:00
Zuul
e4dd7a9643 Merge "Get additional enclosure data" 2018-03-28 20:09:23 +00:00
Dmitry Tantsur
57128fdb9e Switch the dsvm job to the "ipmi" hardware type
The pxe_ipmitool driver is deprecated and is likely to be removed in Rocky.

Change-Id: I445deb0312fc705632d86a70946f3ddbd52c64ab
2018-03-16 13:12:16 +01:00
Jarrod Johnson
d756743f40 Get additional enclosure data
Newer firmware provides more data about the enclosure.  Use this
to expand the details on the Enclosure inventory data.

Change-Id: I022934e89ae3dc109d7f94da617127c2695b98c7
2018-03-15 16:47:22 -04:00
Jarrod Johnson
ffd9c553ff Ignore small packets claiming to be IPMI payload
A particular BMC had it's wires crossed and sent a stray SOL packet
with the wrong payload type.  We can't do anything to correctly process
said packet without making a pretty wild assumption about it, so drop
it with prejudice.

Change-Id: I96e68a49f55d955cc57c3e52ce70b5932e29680e
1.0.44
2018-03-14 18:55:10 -04:00
Jarrod Johnson
d506f5142f iSCSI settings aren't viable, mask for now
The iSCSI attempts require special consideration that is
not currently implemented.  Mask it out for now.

Change-Id: I07de1ddce7474cd53755681d1d9e7ecf0bcbf56f
1.0.42
2018-03-09 15:12:12 -05:00
Jarrod Johnson
0bd140036c Shore up support of numeric_data, mask others
The numeric_data type was not handled, handle it.

boolean and cmd_data are not currently supported, mask them for now.

Change-Id: I11bad320237fbcf7fd630f7b55cb30cff66d2845
2018-03-09 11:23:04 -05:00
Jarrod Johnson
7a2e08e193 Support text_data IMM/XCC configuration
In addition to enumerate and list data types, there are also text_data
types, particularly for configuring 'IMM' items.

Change-Id: I290e731df5cfd46d00410fa5d0bd445b6d9654c3
2018-03-09 09:30:42 -05:00
Jarrod Johnson
7b50574186 Fix ordering if list config
List config items can have xml order superseded by an 'order'
attribute.  Honor that attribute.

Change-Id: Ie5e2ee95ee40e5f7993bd426fc92aefb2a85b262
2018-03-08 15:21:51 -05:00
Jarrod Johnson
02e783c1d5 Preserve comma delimited lists
For attributes that are list format, take the given value and
use ',' to transform to a list.  This fixes the problem where only the
first option survived the candidate evaluation.

Change-Id: I92b921a2e72759c1b45ee7c5bf874a7ad2bc7c6c
2018-03-05 16:36:10 -05:00
Jarrod Johnson
5ed47bf9d0 Do not set referer on XCC
The referer can confuse the XCC with different Host headers
as presented by python httplib of different flavors.

Change-Id: I85eb09ec86cc597adf6a5f42b1f8edb3b943bce7
1.0.40
2018-03-01 11:42:42 -05:00
Jarrod Johnson
860a58a169 Fix the error message on unsupported protocols
It omitted the data for the string formatting.

Change-Id: I4a7c75e48a60504554f5f01ce895d763534d51ac
2018-02-27 12:11:26 -05:00
Zuul
ed73f1e1e2 Merge "Fix media urls" 2018-02-26 21:56:03 +00:00
Jarrod Johnson
84963baacb Fix media urls
URLs do not come naturally out of the XCC.  Do some fixup to provide
symmetry in the pyghmi api for non-http remote media.

Change-Id: I0bf982eb64d39e90e4ef56d753fbc0a4d6fa562d
2018-02-26 14:50:43 -05:00
Zuul
d30e52f15f Merge "Add the bay number for dense Lenovo platform" 2018-02-26 17:38:53 +00:00
Zuul
8c1f1c8387 Merge "Explicitly check RDOC list after add" 2018-02-26 17:02:24 +00:00
Zuul
d26bde6a2b Merge "Better error message on unsupported media" 2018-02-26 17:02:23 +00:00
Jarrod Johnson
faa2cbcddc Add the bay number for dense Lenovo platform
The dense platform offers the bay in a property.  Provide this
in a normalized way.

Change-Id: I60b1192260130d00852988b777776e81df7b8b66
2018-02-26 11:01:27 -05:00
Jarrod Johnson
706715bc7d Better error message on unsupported media
The URI scheme is given a more appropriate and specific
error.

Change-Id: Ifc9690ba24e3ddfda1799eb2da68f1f76a1b8e92
2018-02-23 17:03:44 -05:00
Jarrod Johnson
6c116dc7d7 Explicitly check RDOC list after add
On a broderline case, a file can be accepted for upload,
but denied on add, but not denied at add time, but after.
Retrieve the list after the fact to pick up on this situation.

Change-Id: I90656d70d7f0006a08c04d6f0686d65afaa65c2b
2018-02-23 11:39:56 -05:00
Jarrod Johnson
db696bf1fc Fix init race condition
When two contexts call into make identical sessions to the same BMC,
there is a period where it can rudely overwrite itself.  Cover this
interval with a more early stage set of waiting sessions.

Change-Id: I94a81b19b2c522448f372b06990e1fdb801e0546
2018-02-21 08:05:11 -05:00
Jarrod Johnson
05b973dff0 Provide opt-in performance boost to firmware
The fast path may be sufficient for certain queries,
enable a way to opt into faster, but less thorough firmware
enumeration.

Change-Id: If33db84a3ce965d5e528c65f3db4f190867b0b92
2018-02-14 14:48:30 -05:00
Jarrod Johnson
4665b98b2a Do not declare 'complete' before the 'mount'.
Do 100% upload, then do complete after the mount call.
This avoids software erroneously stopping the
upload/mount process.

Change-Id: I72af325c9796ceab2ba257f3bed0e42d4814c28d
2018-02-13 10:44:58 -05:00
Jarrod Johnson
8207e1d8df Extend the config.efi wait
It can take more than 30 seconds to generate the config in some
situations.

Change-Id: I028301089d9b93dfbd5553a2ea62f8b4c636adbb
2018-02-12 10:36:16 -05:00
Tim Rozet
ac1f159ea5 Removes relative import for EfiDecompressor
The absolute import path is already specified in config.py.

Change-Id: Icd0fa12342a6597a30302a95077f52a63a246567
Signed-off-by: Tim Rozet <trozet@redhat.com>
1.0.38
2018-02-09 09:35:23 -05:00
Tim Rozet
5335e8c987 Fixes import issues
Importing imm was failing:
https://build.opnfv.org/ci/job/apex-deploy-virtual-master/1162/console

Change-Id: I71466a354091e2926a1e2d8c9eb1b777d6d055c9
Signed-off-by: Tim Rozet <trozet@redhat.com>
1.0.37
2018-02-08 12:15:04 -05:00
Jarrod Johnson
5821d0d729 Provide a sortid to preserve the settings order
Some settings are logically grouped in a totally implicit way.
Preserve the implicit ordering cue as needed.

Change-Id: If0378549f16ede92e873920c0a751737fc3be68f
1.0.36
2018-02-07 15:26:56 -05:00
Jarrod Johnson
53c1de0a16 Handle hypphenated categories
Some older equipment has this.

Change-Id: I842f2cdaa6809ca2dfa0eaf20433b2cb4ab4092e
2018-02-06 15:55:34 -05:00
Jarrod Johnson
daac94e780 Add error checking to settings
Support the complex rules for hiding and readonly, providing more
useful error messages as possible to expalin why.

Change-Id: I29b11deff29fcc80702bb81e4e354c9ec8c78106
2018-02-05 16:03:09 -05:00
Jarrod Johnson
93bf10d7d0 Convert to using xraw_command
It is more efficient and exception based

Change-Id: Icddfb7272d9839e7ff74905132dc23276ce60b24
2018-02-02 16:39:10 -05:00
Jarrod Johnson
81858f13cc Provide interface for managing sys config
System configuration, including UEFI configuration, through a
command object.

Change-Id: I596ee44226b71ab4975e380ea306903a81cf383e
2018-02-02 13:46:58 -05:00
Jarrod Johnson
46d97a8a3a Provide better error message for common scenarios
There are a few error codes that pretty much mean the same thing.
Provide a better text message to match that error code.

Change-Id: Ic673b8dff3f11296ddd99631600c7b45eb8dab76
2018-01-30 15:19:27 -05:00
Jarrod Johnson
6f7cb7ee5c Correct mistaken function call
It was intended to call the frontended function, but was trying to
call itself instead.

Change-Id: Ic97bc3715ca14a535ad7174db6505152f8db4b7f
1.0.34
2018-01-23 10:55:27 -05:00
Zuul
7ff32adc64 Merge "Sort the inventory data" 2018-01-23 15:15:45 +00:00
Zuul
e0cc6b7b7f Merge "Keep web session alive while media mounted" 2018-01-22 23:46:41 +00:00
Andreas Jaeger
b2d96e5c8b Rename zuul v3 job
Rename job so that it follows the naming conventions for a shared global
namespace:
https://docs.openstack.org/infra/manual/drivers.html#consistent-naming-for-jobs-with-zuul-v3

Also, remove name from project stanza, it's not needed anymore for
in-repo setup.

Change-Id: I9943ae477a3468f61be7b7605d5e6aae3135d44d
2018-01-22 18:59:43 +00:00
Jarrod Johnson
b315aa5c05 Fix the tempest job
Change-Id: I5c513a66f79e261a5bd83bb33dcc1a12ab5dfedc
2018-01-22 11:28:34 -05:00