public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chang, Abner" <abner.chang@amd.com>
To: "rfc@edk2.groups.io" <rfc@edk2.groups.io>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"michael.d.kinney@intel.com" <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>
Subject: Introduce a new repo "edk2-redfish-client" under Tianocore Github
Date: Sun, 26 Mar 2023 15:34:25 +0000	[thread overview]
Message-ID: <CH2PR12MB3957FB29881C636CC41BE8EEEA8A9@CH2PR12MB3957.namprd12.prod.outlook.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 3550 bytes --]

[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




[-- Attachment #2: Type: text/html, Size: 9513 bytes --]

             reply	other threads:[~2023-03-26 15:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-26 15:34 Chang, Abner [this message]
     [not found] <1750636505CBE581.14179@groups.io>
2023-04-04  1:39 ` Introduce a new repo "edk2-redfish-client" under Tianocore Github Chang, Abner
2023-04-11  5:03 ` Chang, Abner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CH2PR12MB3957FB29881C636CC41BE8EEEA8A9@CH2PR12MB3957.namprd12.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox