Refactor the support added to support IMMv2 RDOC to be reusable, and
apply it to SMM updates as well.
Change-Id: I01cd3dca8b14230c0487e2e7261fde412efedf8d
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
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
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
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
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
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
These tests exercise Ironic API with the fake driver, thus they provide
no coverage for pyghmi and can be excluded.
Change-Id: If75f60afc3feb900b91a893299eb5f3cc4e6091c
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
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
It turns out that the root cause for the behavior was subtly
different. Update to handle the new formats.
Change-Id: I6dbc3793e377d24a6eae6fb97d592dc0813ddf07
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
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
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
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
Newer firmware provides more data about the enclosure. Use this
to expand the details on the Enclosure inventory data.
Change-Id: I022934e89ae3dc109d7f94da617127c2695b98c7
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
The iSCSI attempts require special consideration that is
not currently implemented. Mask it out for now.
Change-Id: I07de1ddce7474cd53755681d1d9e7ecf0bcbf56f
The numeric_data type was not handled, handle it.
boolean and cmd_data are not currently supported, mask them for now.
Change-Id: I11bad320237fbcf7fd630f7b55cb30cff66d2845
In addition to enumerate and list data types, there are also text_data
types, particularly for configuring 'IMM' items.
Change-Id: I290e731df5cfd46d00410fa5d0bd445b6d9654c3
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
The referer can confuse the XCC with different Host headers
as presented by python httplib of different flavors.
Change-Id: I85eb09ec86cc597adf6a5f42b1f8edb3b943bce7
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
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
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