2
0
mirror of https://opendev.org/x/pyghmi synced 2025-01-14 19:57:47 +00:00

588 Commits

Author SHA1 Message Date
Jarrod Johnson
8bd1aeeada Properly pass formname when using FileUploader
There was an oversight where the formname was not properly
passed when requested.

Change-Id: I6a7b95b82bbfcdbd8f7c54261fb09b1b70b9347c
2018-06-19 14:16:12 -04:00
Jarrod Johnson
b649afcb45 Add progress indication to SMM update
Refactor the support added to support IMMv2 RDOC to be reusable, and
apply it to SMM updates as well.

Change-Id: I01cd3dca8b14230c0487e2e7261fde412efedf8d
2018-06-19 11:24:31 -04:00
Jarrod Johnson
dc8d2f3bf6 Add IMMv2 remote media upload
IMMv2 media upload was required, so this implements it.

Change-Id: Idf4ea58c0b01186b2ae646ff428ff952ab72c0ef
2018-06-19 10:25:40 -04:00
Zuul
dfe960d5a3 Merge "Wrap bytes in a StringIO" 2018-06-18 19:12:19 +00:00
Jarrod Johnson
d4cfcd4919 Wrap bytes in a StringIO
Python httplib was making a copy of the data passed as bytes, completely
foiling the memory reduction attempt.  Change to StringIO to avoid
bulk copies and have python httplib itreate a bit at a time.

Change-Id: I923d8bac290f628ee10dd8a33e528a32f3d52a23
2018-06-18 14:31:38 -04:00
Jarrod Johnson
2b2f73788a Restore IMMv2 mount attempts
IMMv2 firmware changed two things:
-It now requires a referer to mount media
-Newer firmware moved from data?set to data/set

Change-Id: I4b5b88f993b87e4e769aad82cb161abfb72bfd18
2018-06-13 15:05:39 -04:00
Zuul
8b25601a7a Merge "Move SOL payload retries to console.py" 2018-06-12 18:27:06 +00:00
Jarrod Johnson
cf4adce3e9 Move SOL payload retries to console.py
SOL packets are treated differently and as such should
interleave with non-console data.  Particularly if SOL payload gets
deactivated by something else, do not presume the whole session to
be broken (leave that to the command based keepalive).

Change-Id: Ic70b57cd6834e6936f1d5a6b855dbe835200ad41
2018-06-11 14:41:28 -04:00
huang.zhiping
680a0c406e fix tox python3 overrides
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I5b088566dc6b55e04f5235b789fd71bfee496792
2018-06-09 20:40:18 +08:00
Jarrod Johnson
33beac870d Add specific message for missing media license
XCC error for license was not handled.

Change-Id: I10d2c18cbbba8ea63642bf27020c87cd638414b2
2018-06-01 09:59:05 -04:00
Zuul
2df9280c8e Merge "Migrate from PyCrypto to Cryptography" 1.1.0 2018-05-18 16:23:21 +00:00
Ilya Etingof
fd7fd76274 Migrate from PyCrypto to Cryptography
The King is dead, long live the King!

Change-Id: I2491c2b7e4aebcb9122a16918a2a35caaa580e38
Story: 2002056
Task: 19705
2018-05-18 17:55:56 +02:00
Jarrod Johnson
4404b537fd Error on invalid signature
Provide a more informative error when faced with an invalid firmware
signature on upload.

Change-Id: Ifdc6ae546270509e80c260584951427396b7230e
2018-05-17 13:05:40 -04:00
Jarrod Johnson
e21fdbf1f3 Fix SMM updates on newer SMM firmware versions
Must explicitly declare the type of firmware now, accomodate that
with the request.  Older SMMs will return error that we will ignore.

Change-Id: I8911da94ccbfc5447c2d4902cbbcbd48c87605cf
2018-05-16 16:53:37 -04:00
Jarrod Johnson
6c37f63ab8 More informative message on password expiry
Make it more clear what is happening when password
had expired preventing login...

Change-Id: I63a947cca6749ba12ab2d03e279016b389dc1f30
2018-05-16 14:54:53 -04:00
Jarrod Johnson
5cd53d83ed Fix duplicate adapter name handling
More than one of a given adapter may be a system,
give them unique names in inventory.

Change-Id: If80680241e35aadc4821fc230f85d5b1efab1e51
2018-05-16 14:26:10 -04:00
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