#
9b46bc0b |
| 21-Jan-2025 |
Myung Bae <myungbae@us.ibm.com> |
Update to 2024.4
Update schema to the latest release 2024.4.
See below for more info on this release: https://www.dmtf.org/standards/redfish
Tested: - Redfish Service Validator passes
Change-Id:
Update to 2024.4
Update schema to the latest release 2024.4.
See below for more info on this release: https://www.dmtf.org/standards/redfish
Tested: - Redfish Service Validator passes
Change-Id: I1845d6afa04ee418ba3ab0bd0bc8ce59886e4376 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
dd5c81e9 |
| 17-Sep-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Update to 2024.3
1 line change in update_schemas.py and rerun it.
See below for more info on this release: https://www.dmtf.org/content/redfish-release-20243-now-available
Tested: Inspection only.
Update to 2024.3
1 line change in update_schemas.py and rerun it.
See below for more info on this release: https://www.dmtf.org/content/redfish-release-20243-now-available
Tested: Inspection only.
Change-Id: I856b9777fd386f828724bd7a521dcd5c8c3270cf Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
28cfceb2 |
| 22-Aug-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Update to 2024.2
Redfish changed the directory structure again. Don't see that ZipFile has a "cd" so insert the version in the path when checking or building the path.
You can see this directory st
Update to 2024.2
Redfish changed the directory structure again. Don't see that ZipFile has a "cd" so insert the version in the path when checking or building the path.
You can see this directory structure change by downloading 2024.2 vs 2024.1. Also by printing the ZipFile Info.
<ZipInfo filename='DSP8010_2024.2/info.json' compress_type=deflate filemode='-rw-r--r--' file_size=54 compress_size=42>
This is how we used to do it. [1]
[1]: https://github.com/openbmc/bmcweb/commit/60c922dfacd5d1aeec8789e03edc91b47f4a6661
Make the changes for the script, bump the version, and run the script.
See below for more info on this release: https://www.dmtf.org/content/redfish-release-20242-now-available
Tested: Validator is happy.
Change-Id: I87674d5b9ff19b39d3cdf2fb046543e21a6ebc5b Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
a529a6aa |
| 29-May-2024 |
Ed Tanous <ed@tanous.net> |
Make schemas selectable
Which schemas are installed should be selectable in both a meson config, and trivially by forks. This commit gets us closer to that idea.
It does it in several ways, first,
Make schemas selectable
Which schemas are installed should be selectable in both a meson config, and trivially by forks. This commit gets us closer to that idea.
It does it in several ways, first, the code for generating JsonSchemaFile resources has been changed to be generated at runtime, based on files on disk. This is slightly slower, but allows installing schemas from anywhere, and matches the CSDL handling.
Next, the schema folders are separated into two sets csdl -> This includes the complete schema pack from dmtf installed -> this includes only the schemas the bmc includes
Similar folders exist for json-schema and json-schema-installed.
This allows any additional schemas to be a single symlink addition. Note, this also checks in all of the dmtf json schemas, not just the versions we use. This allows us to update the schema pack without needing to break our versions we ship.
Because the static files are now selectable, all files need to be in a folder. This forces the css and image for the redfish built-in gui to be moved.
Tested: /redfish/v1/JsonSchemas returns the correct result /redfish/v1/JsonSchemas/UpdateService returns a JsonSchemaFile instance /redfish/v1/JsonSchemas/UpdateService/UpdateService<version>json returns the JsonSchemaFile contents.
Redfish service validator passes.
Change-Id: Ie96b2e4b623788dc2ec94eb40fcfd80325f0d826 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
f2a8e57e |
| 18-Jun-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Pull in 2024.1 schemas
Redfish released 2024.1 in May. https://www.dmtf.org/content/redfish-release-20241-now-available
"The bundle includes 29 schema updates and additional developer resources." T
Pull in 2024.1 schemas
Redfish released 2024.1 in May. https://www.dmtf.org/content/redfish-release-20241-now-available
"The bundle includes 29 schema updates and additional developer resources." There was a request on the discord server to pull this in.
Changed 1 line scripts/update_schemas.py and reran the tool.
Tested: None. Inspection only. Picking up new schemas hasn't caused problems in the past.
Change-Id: I44f08ab56ad2f97b757b48003ac97a2f914bd8ea Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
090ab8e1 |
| 18-May-2024 |
Ed Tanous <ed@tanous.net> |
Generate metadata at runtime
In the initial implementation of metadata indexing the bmc knew at compile time what schemas it could potentially publish. bmcweb took the approach of adding all schema
Generate metadata at runtime
In the initial implementation of metadata indexing the bmc knew at compile time what schemas it could potentially publish. bmcweb took the approach of adding all schemas of all versions to the $metadata resource. Since that was made, two major changes have happened. First, Redfish has added significantly more versions of each schema, as well as significantly more schemas to the point where the metadata index is now 213KB. While this file compresses fairly well, the size is obvious from the large amount of time that redfish service validator takes to parse the schemas, compared to actually acquiring BMC redfish resources. Second, aggregation was added, where an aggregated Redfish service might implement any number of schemas, including OEM ones.
In an effort to fix this, this patch takes the compile-time algorithm in update_schemas.py, and moves it into bmcweb itself, parsing the files on disk as needed on demand. This has some immediate benefits; First, is that now schemas can be potentially installed from anywhere, not only from within the bmcweb build, and they will be resolved at runtime.
Second, patches that want to add support for a given schema need to only symlink the schema into the correct folder, without needing to rerun update_schemas.py. This saves time in review.
Finally, this opens to door to reducing the schema versions present in the metadata to the unique set of only what this bmcweb instance, and its aggregated BMCs expose.
Tested: Redfish service validator passes. Need A/B checking to verify the file is byte for byte the same. GET /redfish/v1/$metadata returns what looks like sane results, with a correct content-type. Unit tests require the use of TemporaryFileHandle, so that class is moved into a more general folder, outside of test/http.
Change-Id: I326159099c6b6c4056023b2e173c5f074ed88ce1 Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
720c9898 |
| 11-May-2024 |
Ed Tanous <ed@tanous.net> |
Move existing schemas into folders
Reorganize the existing schemas into folders under redfish core.
The existing schema system has some problems: 1. It's hard to add new schemas 2. We have to rerun
Move existing schemas into folders
Reorganize the existing schemas into folders under redfish core.
The existing schema system has some problems: 1. It's hard to add new schemas 2. We have to rerun the script any time we want to change what schemas we use. 3. Adding schemas optionally takes effort
In an effort to combat this, this patchset moves all the existing schemas into folders that represent their namespace names
dmtf/csdl represents the CSDL that dmtf publishes oem/openbmc represents the CSDL that OpenBMC publishes
In theory, this means that in the future we can relax OEM_SCHEMAS.md, and allow folks to possibly implement their own schemas in a way that doesn't have to effect all other systems.
This also has the advantage of not requiring changes to update_schemas.py when we want to add, remove, or modify what version of a schema we use. "current" schemas are just symlinks, so they can be updated using git, and not necessarily have merge conflicts with one another.
Tested: Redfish service validator passes.
Change-Id: I6d4a130bba4cb874ef00a06ed579cc67f53dc7ae Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
3e737424 |
| 17-Apr-2024 |
Myung Bae <myungbae@us.ibm.com> |
Initialize schemas array with explicit size
Currently `update_schemas.py` generates a schema list definition like
redfish-core/include/schemas.hpp: ``` constexpr std::array schemas { "A
Initialize schemas array with explicit size
Currently `update_schemas.py` generates a schema list definition like
redfish-core/include/schemas.hpp: ``` constexpr std::array schemas { "AccountService", "ActionInfo", ... "OpenBMCAccountService", }; ```
However, if the number of schemas is more than the clang's default max size, CI may fail. The default is `-fbracket-depth=256`.
``` In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/functional:65: [1m/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/array:288:52: [0m [0;1;31mfatal error: instantiating fold expression with 276 arguments exceeded expression nesting limit of 256 288 | -> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>, [0m | [0;1;32m ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ [0m [1m../redfish-core/include/schemas.hpp:17:26: [0m [0;1;30mnote: while substituting deduced template arguments into function template '<deduction guide for array>' [with _Tp = const char *, _Up = <const char *, const char *, const char *, const char *, const char *, ... const char *>] [0m 17 | constexpr std::array schemas { [0m | [0;1;32m ^ [0m1 error generated.
```
To avoid the failure, we can set the size explicitly like ``` constexpr std::array<std::string_view,277> schemas { "AccountService", ... ```
Tested: 1) Remove `include_list` so that all possible schemas are to be used 2) Run with the fixed `scripts/update_schemas.py` 3) Compiles successfully
Change-Id: Ib68db9fd3be1b6dbe0c4b5cc0e9a4324966d759e Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
1c79f93e |
| 26-Feb-2024 |
Patrick Williams <patrick@stwcx.xyz> |
redfish-schema: add Protocol
The Drive schema indirectly references Protocol, but it is missing from the schema list. Modify `update_schemas.py` to include it and run, checking in the results.
Sig
redfish-schema: add Protocol
The Drive schema indirectly references Protocol, but it is missing from the schema list. Modify `update_schemas.py` to include it and run, checking in the results.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic3adad00924d450d3b7062c94ec04fc26e4cc9b9
show more ...
|
#
2ae81db9 |
| 31-Jan-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Bump Redfish schemas to 2023.3
Redfish released 2023.3 1/25/2024. https://www.dmtf.org/content/redfish-release-20233-now-available
It is several new schemas and added properties to a pile of schema
Bump Redfish schemas to 2023.3
Redfish released 2023.3 1/25/2024. https://www.dmtf.org/content/redfish-release-20233-now-available
It is several new schemas and added properties to a pile of schemas. One use case is: ComputerSystem v1.22.0 Added EfficiencyFavorPower and EfficiencyFavorPerformance to PowerMode https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/69122
This is a one line change to scripts/update_schemas.py and then ran the script.
Tested: See the new schema versions (e.g. System 1.22.0). No new Validator errors on p10bmc.
Change-Id: I5c10d78e891da71fd14187f63aa6ac682cf15598 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
#
e9cc1bc9 |
| 21-Sep-2023 |
Ed Tanous <edtanous@google.com> |
Update schemas to 2023.2
To quote from The Redfish release [1]
2022.3 Redfish Schema Bundle – This .zip file contains the current versions of all Redfish schemas. The bundle includes 40 schema upda
Update schemas to 2023.2
To quote from The Redfish release [1]
2022.3 Redfish Schema Bundle – This .zip file contains the current versions of all Redfish schemas. The bundle includes 40 schema updates and developer resources. Added Compute Express Link (CXL) support (NEW) Extensions to Fabric, PCIeDevice, Processor, Memory, ComputerSystem, and Chassis schemas Defined by DMTF alliance partner Compute Express Link (CXL) Consortium Extensions to Fabric, PCIeDevice, Processor, Memory, ComputerSystem, and Chassis schemas New CXLLogicalDevice schema Added MultiFactorAuth to AccountService to configure a service for multi-factor authentication HTTP Basic authentication is not available for accounts configured for multi-factor authentication For client certificate authentication, the client provides their identity certificate during TLS handshaking For RSA SecurID, Google Authenticator, and Microsoft Authenticator, clients provide a new Token property in the session creation request Added Heater and HeaterMetrics resources
[1] https://www.dmtf.org/content/redfish-release-20223-now-available
Change-Id: Iefe80866bfb83e65ab98b2cf4ee2eacce5238c5b Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|
#
480662d4 |
| 04-Oct-2023 |
Myung Bae <myungbae@us.ibm.com> |
Fix update_schemas.py to add Oem JsonSchemas
GET on redfish/v1/JsonSchema does not show OEM schemas but shows only DMTF redfish schemas.
It is because Oem schemas are not included into `schemas.hpp
Fix update_schemas.py to add Oem JsonSchemas
GET on redfish/v1/JsonSchema does not show OEM schemas but shows only DMTF redfish schemas.
It is because Oem schemas are not included into `schemas.hpp`.
In addition, the explicit OEM JsonSchema gives the content of the file rather than the valid Json output.
Tested:
- Query JsonSchemas
``` curl -k -H "X-Auth-Token: $token" -X GET "https://$bmc/redfish/v1/JsonSchemas"
curl -k -H "X-Auth-Token: $token" -X GET "https://$bmc/redfish/v1/JsonSchemas/<OemSchema>" e.g. curl -k -H "X-Auth-Token: $token" -X GET "https://$bmc/redfish/v1/JsonSchemas/OemManager" ```
- Redfish Service Validator passed
Change-Id: I0fc9c3d4a48fb9c6ddec9591af12fd2c849331e3 Signed-off-by: Myung Bae <myungbae@us.ibm.com>
show more ...
|
#
9cfcad2d |
| 22-Feb-2023 |
Jiaqing Zhao <jiaqing.zhao@intel.com> |
Remove usage of deprecated VLanNetworkInterface
In Redfish Schema (DSP2046) 2022.3 introduces EthernetInterface 1.9.0 that allows creating VLAN interface by POST EthernetInterface [1] instead of usi
Remove usage of deprecated VLanNetworkInterface
In Redfish Schema (DSP2046) 2022.3 introduces EthernetInterface 1.9.0 that allows creating VLAN interface by POST EthernetInterface [1] instead of using the deprecated VLanNetworkInterface. This patch removes all current usage of VLanNetworkInterface.
This patchest (topic:redfish-ethernet-1.9) introduces breaking API changes to current VLAN management features. All deprecated VLAN APIs are removed, VLAN interfaces will be managed in the same way as the EthernetInterface Resource, except they can be created or deleted. Since webui-vue has not implemented anything related to VLAN yet, it is not impacted.
Solves the issue mentioned in 188cb6294105 ("ethernet: Bump EthernetInterface schema 1.4.1 -> 1.6.0")
[1] https://redfishforum.com/thread/619
Tested: Redfish validator passed on a board with VLAN interface. No VLAN interface is exposed in Redfish.
Change-Id: I9b243a5bb0f07642aa60bc13a622e862f62ee871 Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
show more ...
|
#
f263e09c |
| 22-May-2023 |
Ed Tanous <edtanous@google.com> |
Update schema packs to 2023.1
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@goog
Update schema packs to 2023.1
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
show more ...
|
#
23203b4b |
| 16-Mar-2023 |
Ed Tanous <edtanous@google.com> |
Add component integrity schemas
Update the schema pack to include ComponentIntegrity resources. ComponentIntegrity is used for representing roots of trust, and conveying attestation parameters forwa
Add component integrity schemas
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
show more ...
|
#
8b2521a5 |
| 17-Feb-2023 |
Carson Labrado <clabrado@google.com> |
Implement AggregationSource
Adds an AggregationSource resource for each satellite config present on dbus.
Adds the AggregationSource schema which we had previously ignored.
Tested: Querying an Agg
Implement AggregationSource
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
show more ...
|
#
5315c1b1 |
| 17-Feb-2023 |
Carson Labrado <clabrado@google.com> |
Implement AggregationSourceCollection
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 no
Implement AggregationSourceCollection
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
show more ...
|
#
6c068982 |
| 07-Feb-2023 |
Ed Tanous <edtanous@google.com> |
Implement AggregationService
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 contai
Implement AggregationService
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
show more ...
|
#
7da1c588 |
| 21-Feb-2023 |
George Liu <liuxiwei@inspur.com> |
Add Ports schema
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 cont
Add Ports schema
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
show more ...
|
#
5c5804dd |
| 13-Feb-2023 |
Ed Tanous <edtanous@google.com> |
Fix bad namespaces
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
Fix bad namespaces
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
show more ...
|
#
5d3a59d3 |
| 13-Feb-2023 |
Ed Tanous <edtanous@google.com> |
Fix casing on OpenBMC
f041387d5912db27e0317805e5c341c9c472887a didn't quite fix the issue due to testing problems, which luckily CI caught. This actually fixes it.
Tested: redfish service validato
Fix casing on OpenBMC
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
show more ...
|
#
f041387d |
| 13-Feb-2023 |
Ed Tanous <edtanous@google.com> |
Fix schema validator failure regression
Fixes regression introduced at 5b5574ace856c7f787528ab8f5e5352a90f2a6cb
Because of the order in which a few patches were merged, the static $metadata file ne
Fix schema validator failure regression
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
show more ...
|
#
5b5574ac |
| 26-Sep-2022 |
Ed Tanous <edtanous@google.com> |
Fix OemAccountService schema
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
Fix OemAccountService schema
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
show more ...
|
#
a8d8f9d8 |
| 26-Jan-2023 |
Ed Tanous <edtanous@google.com> |
Update schema pack to 2022.3
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
Update schema pack to 2022.3
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
show more ...
|
#
7b395d7c |
| 19-Jan-2023 |
Ed Tanous <edtanous@google.com> |
Remove OemSession from metadata
In d678d4fc59f131cf9820c1783f86a4a6ede32995 I forgot to remove OemSession from the metadata, and it now returns invalid. This was missed in testsing, because this wa
Remove OemSession from metadata
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
show more ...
|