Age | Commit message (Collapse) | Author | Files | Lines |
|
Redfish just released 2023.1, pull it in and update the packs.
This commit was generated automatically using update_schemas.py
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I8faad8392af88aa7fc3a4fd73c8e0ec3bede56e5
|
|
Update the schema pack to include ComponentIntegrity resources.
ComponentIntegrity is used for representing roots of trust, and
conveying attestation parameters forward.
Tested: Automated change
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I1c62ddeeb9151bfe2852199a9ebb12a6636e6262
|
|
Adds an AggregationSource resource for each satellite config present on
dbus.
Adds the AggregationSource schema which we had previously ignored.
Tested:
Querying an AggregationSource returned the expected information.
curl localhost/redfish/v1/AggregationService/AggregationSources/5B247A
{
"@odata.id": "/redfish/v1/AggregationService/AggregationSources/5B247A",
"@odata.type": "#AggregationSource.v1_3_1.AggregationSource",
"HostName": "http://122.111.11.1:80",
"Id": "5B247A",
"Name": "Aggregation source",
"Password": null,
}
Service Validator passed. The Service Validator also passed after
removing the satellite config from the system such that
/redfish/v1/AggregationService/AggregationSources returns an empty
Members array.
Signed-off-by: Carson Labrado <clabrado@google.com>
Change-Id: I88b5fbc15f27cddd330ec22a25427fd8b18cf766
|
|
This is an intermediate step in setting up aggregation sources. A
future patch will add aggregation sources based on the existence of
satellite configs. For now the collection will always return as 0
members.
Adds the AggregationSourceCollection schema which we previously
ignored.
Tested:
Service Validator passes
Signed-off-by: Carson Labrado <clabrado@google.com>
Change-Id: I65c9231289bf0a9b6392696d55bc3feb0023c694
|
|
AggregationService is used to inform a client that some of the results
might be aggregated, and to allow setting up aggregation sources.
Today, this resource only contains the basic fields, as well as
"Enabled", which informs the client of the fact that the service is
aggregation enabled.
AggregationService was one of the schemas we ignored, so this adds it to
the supported list.
Tested: Redfish service validator passes.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ifb16a86ff81e387f01016a83f9e69240c8928614
|
|
Based on DSP8010_2022.3 and adds the Ports schema.
The port is a child of the FabricAdapters schema, and the
PortCollection schema will collect all Ports information, each Port
contains Location, LocationIndicatorActive, etc., and these functions
will be implemented in the next patch.
Tested: built bmcweb successfully and validator passes.
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I9adfa852c3b9c5deaace0c958e477a67d49f4939
|
|
This was missed by me; At the same time as we were resolving the
redfish-service-validator failure[1], I was trying to fix this. So in
the result I saw:
ERROR - Validation has failed: 2 problems found
Which I thought was the existing false-positive, but turns out was
hiding the namespace issue.
Mea Culpa.
[1]: https://github.com/DMTF/Redfish-Service-Validator/issues/533
Tested: Redfish service validator actually passes.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I51de9d508539756394ead1bca437ca37b61f5e40
|
|
f041387d5912db27e0317805e5c341c9c472887a didn't quite fix the issue due
to testing problems, which luckily CI caught. This actually fixes it.
Tested: redfish service validator passes.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ieac721477b3e78165559f857c0683d0520b7fcc2
|
|
Fixes regression introduced at 5b5574ace856c7f787528ab8f5e5352a90f2a6cb
Because of the order in which a few patches were merged, the static
$metadata file never got updated. There are other patchsets still in
review to completely remove the file, which is why the validator passed
on previous commits.
Tested: Metadata now resolves
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I402eb0bb83220f13293e9e7c86f34a257c2f981e
|
|
This schema as-written broke a bunch of Redfish specification rules for
schemas, naming and other things. This commit starts to fix them.
It can be used as a starting point for fixing the existing schemas.
This working through testing.
Tested: OpenBMCAccountService_v1.xml now passes the redfish odata schema
validator.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Id991794344b8b7d36af3c44bba7214bf025deec8
|
|
Update scripts/update_schemas.py to point at 2022.3 and run.
Schema pack 2022.3 is the latest Redfish release, released 01/23/2023.
It contains several new schemas and support for Multi-factor
Authentication and CXL support along other things.
Update done by automation.
Tested: Redfish service validator passes.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I55a64d7cda26572e7b75135acc324cb44d316fe6
|
|
In d678d4fc59f131cf9820c1783f86a4a6ede32995 I forgot to remove
OemSession from the metadata, and it now returns invalid. This was
missed in testsing, because this was originally stacked with patches
that remove the $metadata hardcoding entirely, so with that patch, this
error wasn't present.
Tested: CI can catch this just fine. Regression fix.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I56ad68846174d42004565dd3bc75f3008720d58a
|
|
Will be used in commit https://gerrit.openbmc.org/c/openbmc/bmcweb/+/41216
From the Redfish schema "A FabricAdapter represents the physical fabric adapter
capable of connecting to an interconnect fabric. Examples include but are not
limited to Ethernet, NVMe over Fabrics, Gen-Z, and SAS fabric adapters."
Tested: built bmcweb successfully and validator passes
Change-Id: I9f8fb3bfc5b68a86b078b1261445437bdd5c550a
Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
|
|
In aggregation we need to account for when a satellite BMC supports a
resource collection that the aggregating BMC does not. We need to
add links in responses from upstream resources to indicate that these
satellite only resources exist. These top level collections do not
always have the location format of /redfish/v1/<collection_id>. We
determine all of those from the schema rather than hardcoding a few
choice exceptions that do not fit that format such as
/redfish/v1/UpdateService/FirmwareInventory.
This patch is the first step in accomplishing this. We parse all
xml schema files in order to determine what are the top level
collection URIs. For URIs that are upstream from top level collections
we'll be able to derive what URIs could appear in the response which
are also on the same path to a top level collection.
The xml files for resources that aren't currently supported by bmcweb
are ignored when creating the schema index and later deleted once the
above parsing completes.
Later patches will use this information to make sure that we are
properly handling all schema defined top level collections.
Tested:
Compiles with aggregation enabled
Signed-off-by: Carson Labrado <clabrado@google.com>
Change-Id: Icff825f4e4e9d84c96254561350f82839abdc074
|
|
Even for schemas we ignore, we should still generate the enums for them,
just to keep changes like [1] smaller.
Tested: Code compiles. No functional binary change.
[1] https://gerrit.openbmc.org/c/openbmc/bmcweb/+/55215
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I78adf1204a319bc14900152f94161afea21f2e07
|
|
black and isort are enabled in the openbmc-build-scripts on Python files
to have a consistent formatting. Re-run the formatter on the whole
repository.
Change-Id: I00a6615fdb2b47ffee38e4bf649dd644eb636844
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
Python packaging seems to have changed to be much more stringent about
what version strings is accepts. It's not clear why this was done, but
we need a fix to unbreak CI.
This commit adds more parsing code into the script to parse out version
numbers from the form of LogEntry.v1_2_3 to split them up into a custom
class, and sort manually. Despite dropping the dependency, this ends up
dropping a net 7 lines of code compared to using the library, so it
seems worth it, especially given the breaking API change.
One seemingly unrelated change was that we were adding schema folders to
the sort lists, which don't sort well because they have no version
numbers or extensions. This fixes to only add individual files to the
list of things to sort.
Tested:
Code no longer crashes.
Running update_schemas.py generates the same result (with one minor
same-prefix sort order change).
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I1a792ffb4ad7bc71637ab1aa0648a245949aeeee
|
|
OpenBMC tends to have a significant problem in doing the appropriate
lookups from the schema files, and many bugs have been injected by users
picking a bad enum, or mistyping the casing of an enum value.
At the same time, nlohmann::json has recently added first class support
for enums, https://json.nlohmann.me/features/enum_conversion/
This commit attempts to build a set of redfish includes file with all
the available Redfish enums in an easy to use enum class. This makes it
very clear which enums are supported by the schemas we produce, and adds
very little to no extra boilerplate on the human-written code we
produced previously.
Note, in the generated enum class, because of our use of the clang-tidy
check for macros, the clang-tidy check needs an exception for these
macros that don't technically follow the coding standard. This seems
like a reasonable compromise, and in this case, given that nlohmann
doesn't support a non-macro version of this.
One question that arises is what this does to the binary size.... Under
the current compiler optimizations, and with the current best practices,
it leads to an overall increase in binary size of ~1200 bytes for the
enum machinery, then approximately 200 bytes for every call site we
switch over. We should decide if this nominal increase is reasonable.
Tested: Redfish protocol validator runs with same number of failures as
previously.
Redfish Service Validator passes (one unrelated qemu-specific exception)
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I7c7ee4db0823f7c57ecaa59620b280b53a46e2c1
|
|
Reformat the repository using the latest from openbmc-build-scripts.
Add the `static/redfish` directory to be ignored by prettier since
these files come from elsewhere and having the ability to do a direct
diff is handy.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I74464d6f97047b4888a591e0d8a4f5ca970ac69e
|
|
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I6bcc6c72e1855c7de7c8b1e88cbab01e92b4070d
|
|
Based on DSP8010_2022.2 and adds the ThermalMetrics schema.
ThermalMetrics is child of the ThermalSubsystem schema. It is part of
the new Power/Thermal Schemas.
ThermalMetrics contains temperature readings and the corresponding
link to that sensor in the sensor collection.
Temperatures such as Ambient, Exhaust, Intake, and Internal can be
found in the schema.
Tested: built bmcweb successfully and validator passes.
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I16ad2f922acc963a0434f3d9ab5583d2242b0013
|
|
Based on DSP8010_2022.2 and adds the EnvironmentMetrics schema.
Tested: built bmcweb successfully and validator passes
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I994b48c544edc22a6bf99187b536f3e51e10b052
|
|
Add schemas for PowerSubsystem PowerSupply and PowerSupplyCollection.
Tested: built bmcweb successfully and validator passes.
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Change-Id: I913d690108e30c841d5dec5fa37c7b9cee43f7c1
|
|
The script missed a #include. Add it.
Tested: Code compiles. Header change only.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ib38a46d8e97e4aadb596b4ff68795cea06e62fde
|
|
Based on DSP8010_2022.2 and adds the schema of Fan and FanCollection.
Tested: built bmcweb successfully and validator passes
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Id1867a6f19d47d0fb1d686d650f7d936c33b5284
|
|
Run the script update_schemas.py by pointing it to 2022.2
An overview of 2022.2 release can be found at:
[1] https://www.dmtf.org/sites/default/files/Redfish_Release_2022.2_Overview.pdf
Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ic729af6848badd1c81121e61a22a7115e553358a
|
|
Update to an intermediate schema pack. This is not the newest, but is
an incremental commit to allow us to differentiate different versions of
the schema packs evolution.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I4e5905a3ed40ca41b095c39b4d29c074b6eaeb67
|
|
New versions of the DMTF schema pack seem to make this list parse in
less-than-ideal order. Previously, the schema pack zip file had an
order that was at least semi-alphabetical, but 2022.2 seems to cause
that to change.
This commit makes the update_schemas.py script explicitly alphabetize
the list. This changes the order of two keys that have common prefixes,
but leaves the rest of the order the same. Both are arguably correct.
This commit also exposes that this script seemed to have lots of
problems in its version number detection logic. To make all this work
properly, a fairly invasive change is required.
Tested: Running the script on 2021.4 produces the same result as
previously. See later commits for 2022.2 where result is now correct.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ia2365daee1d91de142652161bf752600f3109115
|
|
https://black.readthedocs.io/en/stable/
Is a formatter that takes a more opinionated stance on pep8 compliance
than others, and as such gives us more consistent python code, even if
that's not currently enforced by ci. In addition, it allows patches to
automate their pep8 compliance similar to how we've done clang-format
for c++. We've done this transform other places throughout the codebase
and gotten a decent result, so duplicate it in bmcweb..
Run the black tool on update_schemas.py.
Tested: Reran update_schemas.py, and generated output is identical
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I83f47025ac61d0afd5df87ddb33f84269160191c
|
|
Redfish collection Json schema files are not versioned, and only have a
single version file. In the script, we assumed that all files were
versioned, and the script ignored files that didn't parse as versioned.
This commit fixes the script, and checks in the relevant Collection
resources.
Tested: Redfish service validator passes on JsonSchemas resources and
collection.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I579dac3fdfecf485f7d414842effa9ae0ee517e8
|
|
Adds the ThermalSubsystem schema to the list of the supported schemas.
Tested: Code compiles. Script generated change.
Signed-off-by: Xiaochao Ma <maxiaochao@inspur.com>
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I4540fcaa57455ec95d4c8fff71429309c2eebce3
|
|
Generating all of these index files at compile time is kind of wasteful,
considering that it's really not that much code to generate them. This
commit modifies the update_schemas script to generate a C++ version of
the schemas that can then be used to generate a route. This allows
deleting a LOT of fixed files, for a very small incremental binary size
increase.
This change will cause two impacts that a user could possibly notice.
Expand will now work properly on JsonSchemas tree.
Keys on the JsonSchema schemas will now be sorted alphabetically, as we
do elsewhere.
All other things should remain the same.
Tested:
Redfish service validator passes.
curl --insecure --user root:0penBmc https://192.168.7.2/redfish/v1/JsonSchemas/Triggers
Returns the same object as before with changes above.
This adds 2512 bytes to the bmcweb binary size, and interestingly, adds
3764 bytes to the overall rootfs size, despite the level of file
deletion seen in the patch. While this is debatably "worse" than
what we had before in this regard, making JsonSchemas work similar
to how the rest of the Redfish tree operates, is worth the minor
increase in code size.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ic0d568112a3784821aa6867f7bcf50705dc586db
|
|
We plan on using these schemas, add them to the allow list.
Tested: Code generated.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I4d2cc4d580115bbaf2445469577940984e3045f0
|
|
Env is generally more portable than hardcoding path.
This change also keeps all scripts consistent.
Tested: all can run directly.
Signed-off-by: Nan Zhou <nanzhoumails@gmail.com>
Change-Id: Ia2636420e54fae24a5a339377de65957ed40cc7e
|
|
This change adds the ManagerDiagnosticData schema files.
Tested: ran Redfish Service Validator:
+ Manager
Diagnostic
2021.4 Data
metadataNamespaces: 2388 2390
pass: 3249 3274
passAction: 8 8
passGet: 121 123
passRedfishUri: 115 117
skipNoSchema: 3 3
skipOptional: 2184 2198
warnDeprecated: 315 315
warningPresent: 11 11
Validation has: succeeded succeeded
curl -k
https://$bmc/redfish/v1/JsonSchema/ManagerDiagnosticData/\
ManagerDiagnosticData.json
...
"title": "#ManagerDiagnosticData.v1_0_0.ManagerDiagnosticData"
}
Signed-off-by: Sui Chen <suichen@google.com>
Change-Id: I0d86b45350475771acdd492a98018156f8c819dd
|
|
Update the script to point to 2021.4.
Tested: built for evb-ast2500, ran Redfish Service Validator:
BASE 2021.4
metadataNamespaces: 2330 2388
pass: 3239 3249
passAction: 8 8
passGet: 120 121
passRedfishUri: 114 115
skipNoSchema: 3 3
skipOptional: 2180 2184
unverifiedAdditional.complex: 2 0
warnDeprecated: 315 315
warningPresent: 12 11
Validation has: succeeded succeeded
Saw new schemas:
curl -k https://$bmc/redfish/v1/JsonSchemas/Manager/Manager.json
...
"title": "#Manager.v1_14_0.Manager"
}
Signed-off-by: Sui Chen <suichen@google.com>
Change-Id: I6560ec010362df28e264d80452059b534b3f89ba
|
|
This commit implements Cable and Cable collection schema
on bmcweb.
Testing:
Validator:
@odata.id /redfish/v1/Cables odata Exists PASS
@odata.type #CableCollection.CableCollection odata Exists
PASS
Members@odata.count 2 odata Exists PASS
Members Array (size: 2) links: Cable Yes ...
Members[0] Link: /redfish/v1/Cables/dp0_cable0 link: Cable
Yes PASS
Members[1] Link: /redfish/v1/Cables/dp0_cable1 link: Cable
Yes PASS
Description Collection of Cable Entries none Yes PASS
Name Cable Collection none Yes PASS
Oem - Resource.Oem No Optional
Property Name Value Type Exists Result
@odata.id /redfish/v1/Cables/dp0_cable0 odata Exists PASS
@odata.type #Cable.v1_0_0.Cable odata Exists PASS
CableType string Yes PASS
LengthMeters - number No Optional
Id dp0_cable0 none Yes PASS
Name Cable none Yes PASS
Property Name Value Type Exists Result
@odata.id /redfish/v1/Cables/dp0_cable1 odata Exists PASS
@odata.type #Cable.v1_0_0.Cable odata Exists PASS
CableType string Yes PASS
LengthMeters - number No Optional
Id dp0_cable1 none Yes PASS
Name Cable none Yes PASS
Note: Removed some of the fields that are optional to reduce commit msg
Tesing with Curl commands:
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables
{
"@odata.id": "/redfish/v1/Cables",
"@odata.type": "#CableCollection.CableCollection",
"Description": "Collection of Cable Entries",
"Members": [
{
"@odata.id": "/redfish/v1/Cables/dp0_cable0"
},
{
"@odata.id": "/redfish/v1/Cables/dp0_cable1"
}
],
"Members@odata.count": 2,
"Name": "Cable Collection"
}
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable0
{
"@odata.id": "/redfish/v1/Cables/dp0_cable0",
"@odata.type": "#Cable.v1_0_0.Cable",
"CableType": "",
"Id": "dp0_cable0",
"Name": "Cable"
}
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable1
{
"@odata.id": "/redfish/v1/Cables/dp0_cable1",
"@odata.type": "#Cable.v1_0_0.Cable",
"CableType": "",
"Id": "dp0_cable1",
"Name": "Cable"
}
Set Length property to 1.5 meters using busctl, and check the properties
busctl set-property xyz.openbmc_project.Inventory.Manager \
/xyz/openbmc_project/inventory/cables/dp0_cable0 \
xyz.openbmc_project.Inventory.Item.Cable Length d 1.5
$ curl -k -X GET https://{$bmc}/redfish/v1/Cables/dp0_cable0
{
"@odata.id": "/redfish/v1/Cables/dp0_cable0",
"@odata.type": "#Cable.v1_0_0.Cable",
"CableType": "",
"Id": "dp0_cable0",
"LengthMeters": 1.5,
"Name": "Cable"
}
Signed-off-by: Shantappa Teekappanavar <sbteeks@yahoo.com>
Change-Id: I832ff1c1053f4d8100d04a42cc8046a61e8c1613
|
|
Issue: Redfish validator is throwing error "PhysicalContext:
This type is invalid none" for multiple temperature sensors
Endpoint : /redfish/v1/Chassis/<Baseboard>/Thermal#/Temperatures/
Root Cause : PhysicalContext Schema was missing from redfish schema
metadata
Tested: Redfish validator script passed.
*** /redfish/v1/Chassis/<baseboard>/Thermal#/Temperatures/0
Type (#Thermal.v1_3_0.Temperature), GET SUCCESS (time: 0)
PASS
Signed-off-by: sunitakx <sunitax.kumari@intel.com>
Change-Id: Ifbfe7d96e99030c0c5ba67a1aba5080cd049e57b
|
|
Added GET method for retrieving details of individual Trigger searched
by given Trigger name, details are extracted from Telemetry service
Tested:
- Added single Trigger and requested result from bmcweb via
/redfish/v1/TelemetryService/Triggers/<triggername>
- Added multiple Triggers numeric and discrete with various parameters
(empty, non-empty), and requested results from bmcweb via
/redfish/v1/TelemetryService/Triggers/<triggername>
- Verified uris /redfish/v1/TelemetryService/Triggers/<triggername> by
using Redfish-Service-Validator (all passed)
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
Change-Id: I1c966b2f792324cc6f6a8784ad18a683e5ce7bd9
|
|
Added GET method for retrieving list of Triggers from Telemetry service
Tested:
- Added single Trigger and requested result from bmcweb via
/redfish/v1/TelemetryService/Triggers
- Added multiple Triggers numeric and discrete, and requested results
from bmcweb via /redfish/v1/TelemetryService/Triggers
- Verified uri /redfish/v1/TelemetryService/Triggers by using
Redfish-Service-Validator with no Triggers/empty Collection (passed)
Signed-off-by: Lukasz Kazmierczak <lukasz.kazmierczak@intel.com>
Change-Id: Ide00eb44901ea1b97b80fc5c5ddfd97e393d4a04
|
|
Update the script to point at 2021.3, change the path of the files since
they moved again, and run the script.
Since we have an exclude list, this only brings in new versions of
schemas bmcweb already uses.
Overview of 2021.3:
https://www.dmtf.org/sites/default/files/Redfish_Release_2021.3_Overview.pdf
Overall, the release wasn't huge.
IBM plans to use:
PCIeSlot to Processor
FabricAdapter to PCIeDevice
Tested: See new schemas. No new validator errors.
curl -k https://$bmc/redfish/v1/JsonSchemas/Certificate/Certificate.json
{
"$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_5_0.json",
Change-Id: Idf28cb164d220b059dace91e352fee732bf0c842
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Update the script to point at 2021.2, change the path of the files since
they moved yet again, and run the script.
The directory structure moved back to the way they had it pre-2020.1:
https://github.com/openbmc/bmcweb/commit/a778c0261282b95e14ea3f4406959638b5edb040
Since we have an exclude list, this only brings in new versions of
schemas bmcweb already uses.
Overview of 2021.2:
https://www.dmtf.org/sites/default/files/Redfish_Release_2021.2_Overview.pdf
IBM plans to use Control (for PowerCapping) and IdlePowerSaver
immediately.
Tested: Validator passed after DMTF/Redfish-Service-Validator/pull/423
merged.
CI uses the latest Redfish-Service-Validator so not a problem for CI.
For manual users only a small window where an older validator would
fail. After the schemapack changes but before PR423.
See the new schemas.
Change-Id: I2fe539087167cf6d962c14bf31fa23861302646f
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Script update_schemas.py was incorrectly generating schemas since change
f395daac96c8122623700c2b124d905266ea8223. This was caused by treating
'edm' as 'edmx' during parse process.
Additionally, glob pattern was incorrectly skipping all files starting
with letter 'O', instead of 'Oem' phrase. This lead to python exceptions
during generation, as the script was trying to recreate existing
directories like 'OperatingConfig'.
Unused imports were removed.
Tested:
- running update_schemas.py no longer generates malformed data and no
exception were thrown.
- all files generated by update_schemas.py are generated identically as
before regression.
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
Change-Id: I5e2025ec8b264a38cbf5bb944142c83c0486ce50
|
|
This commit allows our python code to be run through the CI format-code
scripts. The exact content is copied from sdbusplus.
Tested, ran pycodeformat on each script, observed it passing.
Ran each script individually. check_base_registry seems broken previous
to this commit, although it provides the same output.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I7eacfa355b794f49308b900c2988809d2aa122c3
|
|
The allow list should contain all schemas implemented by bmcweb.
The allow list was missing the Privileges schema. The Privileges schema
is referenced in the Role schema here:
"AssignedPrivileges": {
"description": "The Redfish privileges for this role.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
https://redfish.dmtf.org/schemas/v1/Role.v1_3_1.json
In OpenBMC CI Redfish Validator testing the following error was hit 3
times:
ERROR - ConnectionError on http://redfish.dmtf.org/schemas/v1/Privileges_v1.xml:
ConnectionError(ProtocolError('Connection aborted.',
RemoteDisconnected('Remote end closed connection without response')))
Network glitch somewhere but inspired this change.
Long term not sure if the allow list makes sense. While still used today
(and for the immediate future) it should attempt to accurately reflect
the implemented schemas in bmcweb.
The allow list was added in 349a2ac3 to save space.
Information on the CI Redfish Validator testing can be found at
https://github.com/openbmc/openbmc-test-automation/search?q=Redfish-Service-Validator
The test redownloads the schemas each time.
Tested: Validator passed.
See the new schema:
{
"@odata.id": "/redfish/v1/JsonSchemas/Privileges"
},
Change-Id: Iaf3de36b211efab4115a17fd43f0263b8bd3107f
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Update the script to point at 2021.1 and run it.
Since we have an exclude list, this only brings in new versions of
schemas bmcweb already uses.
Overview of 2021.1:
https://www.dmtf.org/sites/default/files/Redfish_Release_2021.1_Overview.pdf
Features IBM plans to use:
Resource, Action, Enum, and Property Deprecated Messages
Boot Progress: Setup Entered
System: Stop Boot On Fault
Chassis: Spare Part Number
Enabled for Memory, Processor
Log Entry: AutomatedServiceNotify, Resolution
Power Modes
Enable/Disable USB
Tested: Clean run of the validator passes.
Change-Id: Ib22e5ea314c41ae354930b2c5857fe9512859507
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
8401529 removed OemCrashdump.json but didn't from $metadata/index.xml
and the update_schemas.py.
This is causing the following validator fail and holding up the bump:
ERROR - The following schema URIs referenced from $metadata could not
be retrieved:
/redfish/v1/schema/OemCrashdump_v1.xml
See https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/42245
Tested: None.
Change-Id: I6106bb19c725c088b7343722c1001f4e188e216d
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Created a list of all used schemas, and a few being added for use in reviews
now. Exclude all other schemas.
Developers if they wish to use a new schema will have to add it to this
list and rerun update_schemas.py.
Size of obmc-phosphor-image-witherspoon-<date>.rootfs.squashfs-xz:
Before 2020.4: 19451904
With 2020.4, before this commit: 19492864
With this commit: 19275776
Tested: Validator passes.
Change-Id: I23272049aa38c51ac7af0d3b0f5b4641a349a487
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
2020.4 contains a lot of new schemas.
New feature include: new power and thermal schemas, conditions,
and new account types.
For more information, see:
https://www.dmtf.org/sites/default/files/Redfish_Release_2020.4_Overview.pdf
Tested: Validator passes. Able to see new schemas.
Change-Id: I7fb860c84fa4cff80698dcb26a463b155e6faba7
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
In this commit, Oem schemas for Dump LogServices are removed
as per the latest Redfish schemas. Also, the code is changed
w.r.t the latest schema changes.
Redfish Validator Passed.
Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
Change-Id: I12c8d283cd54c32e71a2b11857e7c4cce89b9f0a
|