[AMD Official Use Only - General]

Hi edk2 community,
We are proposing to introduce a new repository under Tianocore Github which is 
edk2-redfish-client. The plan is to have RedfishClientPkg, Redfish simulator 
and python script that generates edk2 Redfish client drivers under 
edk2-redfish-client repo.
edk2-redfish-client, refer to 
https://github.com/tianocore/edk2-staging/tree/edk2-redfish-client/RedfishClientPkg,
 which is a PoC project (already proved) that provides the mechanism to map HII 
options (which has the corresponding "x-uefi-redfish-$NAMESPACE" language in 
UNI file) to Redfish properties defined in Redfish schema data model.
Here is the readme for edk2-redfish-client 
https://github.com/tianocore/edk2-staging/blob/edk2-redfish-client/RedfishClientPkg/Readme.md
 that delineates the mechanism of RedfishClientPkg. In order to provide a 
simple solution for edk2 developers, auto-generated source files those are 
produced by python script is required to be built with edk2 firmware to connect 
HII options with Redfish properties. There are two python scripts that generate 
the necessary edk2 drivers and libraries.

  *   Redfish C to JSON convertor 
(https://github.com/DMTF/Redfish-Schema-C-Struct-Generator)

This generates edk2 driver modules that compliant with UEFI spec 31.2 EFI 
Redfish JSON Structure Converter

Auto-generated Source files: 
https://github.com/tianocore/edk2-staging/tree/edk2-redfish-client/RedfishClientPkg/ConverterLib
 and 
https://github.com/tianocore/edk2-staging/tree/edk2-redfish-client/RedfishClientPkg/Converter



  *   Redfish Feature drivers generator (not upstream yet, plan to upstream 
that script under edk2-redfish-client.
This generates edk2 drivers that act as intermediary layer between HII and 
Redfish property and delivers Redfish payload through driver stack provided by 
RedfishPkg under edk2 repo.
Files: 
https://github.com/tianocore/edk2-staging/tree/edk2-redfish-client/RedfishClientPkg/Features

You can see that from Redfish schemas 
(https://www.dmtf.org/sites/default/files/standards/documents/DSP8010_2022.3_0.zip),
 each Redfish schema introduces more than one version as time goes on. How many 
Redfish schemas and which version of Redfish schema are used on system is at 
discretion of OEM. Currently there are 3,767 schema files, those schemas 
propagate ten times of schema files for above auto-generated files. Of course, 
platform firmware is not able to pull in all of those files. Platform firmware 
only picks up the corresponding auto-generated files for the Redfish schemas 
and particular version those are supported on their system. There is an ongoing 
edk2 build tool task that supports to automatically pick up the auto-generated 
files according to "x-uefi-Redfish-" language used in HII form set. We 
currently had implementation in 
https://github.com/tianocore/edk2-staging/blob/edk2-redfish-client/RedfishClientPkg/RedfishJsonStructureDxe.dsc.inc,
 but edk2 build tool work is not ready yet. However, edk2 platform developer 
can still pull in the necessary edk2 Redfish client modules to platform 
metafiles manually.

According to above scenario, we are not going to accommodate those files under 
edk2 or edk2-platform repos. Having a separate repo under Tianocore is a way 
for edk2 developer to clone the repo when their project requires Redfish edk2 
firmware support. Maintainers of this repo is also responsible to update the 
files when every time Redfish WG releases the new version of Redfish schema.
Your input is welcome.
Thanks
Abner





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101898): https://edk2.groups.io/g/devel/message/101898
Mute This Topic: https://groups.io/mt/97863741/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to