From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 6B068AC0B9E for ; Mon, 26 Feb 2024 04:55:55 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=3A8iyqlNbDqrlPVT9lGVuRg96s4Q6vgOd49T69dNFj0=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1708923354; v=1; b=N/vbsx+e/kQ44qGqOwx8/CudWbXqFsy01jK6TgDirdqbSIq8PK/yzE2vs9qR0OCwJ2IX/31m XdaoSBczcHwHjhTSnian7SOMHr0EQNesA6tcF2xieBQWENgbwGzyBdJjjpOK9PukV2VOElucJ8c 4DfFdaQRU0kQIXCvcTG0rabA= X-Received: by 127.0.0.2 with SMTP id vqyPYY7687511xCSEnT9SnaX; Sun, 25 Feb 2024 20:55:54 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.49]) by mx.groups.io with SMTP id smtpd.web10.14235.1708923353273601452 for ; Sun, 25 Feb 2024 20:55:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cdCXTFR85w14333pVfm7kk6uSh4uBZdm4MAREeUBn8CW9AMH7l90uqpL/nwwgsqmEF4/UUDdx8ehIjmOch8h48My/Bn/hKAdFKsaeV/6xDP1v2nSMDrLS/xWsxW0gOP/RfLMjz6lfaFNKoOHIgfx6MtrIa1J88SJX3H6rGRqzrwGa9lSGd1g7bT9dvMftaHE9L5eBmOLzmZ/l3JEtvq3DHTPNicfXao5Gz2rPr4cqLKVl6WWUX1lHAWZ0aAe9PYxkFXixMy0/6Ns11GPeD/XFKPNN8dA44ODvI0zvK03FVDXt0OdAGmFVfxyXQ3jXV5cO13HehL9QFmJnvcZY1LcVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KWm8fJymclxlF61n/en1Ue3gYqdIS/9E6pjEJjWtlpo=; b=d8Xi3/7Kx32lcVrUMHRfvLR19vWAAafJ0ffomrPdDcEI6+Mtfe5yRkMW+M5xeCOUjxLnhPvKtWg2On0EQ3HpAR9hVNoJbd/3+LRmrAMQ7+4sSioexVzq3acNSpxp7HDeDbRrnU/4QSdMWaic4KxLxRYfjyRG52aHVYDGxW8bntI/AYjfwiJ0Tm/MXT+ChvdwQBt1dxJbHbi6nguByyiWlmpq2XZ5UxG6y8pvo9Vyz340uoTpdJckXneNf5tLNBsD0F8VjihtoTvJ3fFal9l+M3WBNHsLkJplm0diy6lLrjH0YR9jrmx/hPY52hU3wWnbaK5K1gpU9HBED756wDIphA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) X-Received: from BY5PR03CA0024.namprd03.prod.outlook.com (2603:10b6:a03:1e0::34) by DS0PR12MB9423.namprd12.prod.outlook.com (2603:10b6:8:192::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.33; Mon, 26 Feb 2024 04:55:51 +0000 X-Received: from SJ1PEPF00001CDD.namprd05.prod.outlook.com (2603:10b6:a03:1e0:cafe::c9) by BY5PR03CA0024.outlook.office365.com (2603:10b6:a03:1e0::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.49 via Frontend Transport; Mon, 26 Feb 2024 04:55:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by SJ1PEPF00001CDD.mail.protection.outlook.com (10.167.242.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7292.25 via Frontend Transport; Mon, 26 Feb 2024 04:55:50 +0000 X-Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 25 Feb 2024 22:55:48 -0600 From: "Chang, Abner via groups.io" To: CC: Nickle Wang , Igor Kulchytskyy , Mike Maslenkin Subject: [edk2-devel] [edk2-redfish-client][PATCH] edk2-Redfish-client: Clarify HTTP method used for provisioning Date: Mon, 26 Feb 2024 12:55:22 +0800 Message-ID: <20240226045522.1454-1-abner.chang@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDD:EE_|DS0PR12MB9423:EE_ X-MS-Office365-Filtering-Correlation-Id: 97d74764-2a79-4fa0-9adc-08dc3687344d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: XdTzGj0U3vGAQSKrkAFGzz6BIYd5Yv0qM74WFuPPlM4/HPd712+DQyDp9IG5XQtk9gcPYRh0rFNmJTXQ0Hlh/QU0Rx7IPMBguQV6GKoopmH2kBe0Z8+IqjjjO9Zz5Rk9MLyxRLWncDMGOOcCC+MXqRrRGMU6eWv5Q4+Z3AuYYj0WkPMiP6SFYsNsabWpyux5P/urf3cA0QdeNzznHagTQxy/Cr7l1bGiYTRUzNE3ipz7pliXxZg4ZIDcv7QRlxtoisPR3XHw5UL0wlZdydMLfBywPU9b4X9w0aLVz9LgtDReB7Hs6+EaHatcaIoEUHVGdAVBi2E6EwUKirrTqeUBVeR6RqzJgRWG59dkxwycNdcIFVjLgXl/Mdg/wleSr7K4iSqyK3+eOxJ9kX4GGZJp+F9L8ZWRvmHp82DYtm/d9Ndd6d7JayfDOq08hJrnEV+bfZ1rB3bQ9afBCQDyKb92QBh6Re5cL2b0IfHUl97LWaO9KbxL0y2ogz7cdLIwSV/N2u0oDFrQhIXKT6ogkCnntiB8lkZimx/k4is6JhqifJ/0iV/FJ4GxdJiBnPSetxyDcXO+ahHmw49Gtpka2sHrs40R2X6GcwuUG1kr4vQlUqI3yymEKQIn/aamOanDi2bfZLD72P50Dxo+SaoiNWqkEfrFYNZgqT4uTAfD9z9kGK8+lrnzjvdBjN3PRnjA+X8GGjHYQW2TH1NWGh2VyWOMAoOcnl/Ai1VrrvpagFrpTxb6E18X0+xNTgayjOZ02MwL X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Feb 2024 04:55:50.4503 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 97d74764-2a79-4fa0-9adc-08dc3687344d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDD.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9423 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 8SKugOeelja4sFZweQ8oivhKx7686176AA= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="N/vbsx+e"; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io From: Abner Chang Clarify the HTTP method that is used to provision BIOS managed Redfish resource. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Mike Maslenkin --- RedfishClientPkg/Readme.md | 35 ++++++++++++------- .../Media/redfish-call-flow-provisioning.svg | 2 +- .../Media/redfish-synchronization-design.svg | 4 +-- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/RedfishClientPkg/Readme.md b/RedfishClientPkg/Readme.md index 82cb9c8c99..1789dff6f8 100644 --- a/RedfishClientPkg/Readme.md +++ b/RedfishClientPkg/Readme.md @@ -310,21 +310,32 @@ job. =20 Several interfaces defined in EDKII Redfish Resource Config Protocol work = together to support Redfish synchronization: - Identify() - - This function is used to check if the given Redfish resource is the on= e the feature driver wants to manage. A platform - library `RedfishResourceIdentifyLib` is introduced for platform to imp= lement its own policy to identify Redfish resource. + - This function is used to check if the given Redfish resource is the on= e the feature driver + wants to manage. A platform library `RedfishResourceIdentifyLib` is in= troduced for + platform to implement its own policy to identify Redfish resource. - Check() - - This function is used to check the attribute status on Redfish service= . If all attributes the feature driver manages - are presented in Redfish service, feature driver must provision them a= lready. Otherwise, Provisioning() will be called - to perform resource provisioning job. + - This function is used to check the attribute status on Redfish service= . If all attributes + the feature driver manages are presented in Redfish service, feature d= river must provision + them already. Otherwise, Provisioning() will be called to perform reso= urce provisioning + job. - Provisioning() - - When this function is called, feature driver will provision all attrib= utes that it managed to Redfish service. This - operation usually create new resource at Redfish service and require d= ifferent operation that specified by Redfish service. + - When this function is called, feature driver will provision all attrib= utes that it managed + to Redfish service. This operation usually creates the new Redfish pro= perties at the + existing URI in Redfish service. Use HTTP PATCH to provision Redfish p= roperties as BIOS + may only manage some but not all of the properties of the resource. Se= e [Redfish-edk2 implementation](#Redfish-Service-Implementation-that-Incorp= orates-with-EDK2-Redfish) for + the details. HTTP POST is still used for creating a collection member,= such as the + collection member of processor or memory for the Redfish inventory man= agement. + However, HTTP PUT to overwrite an entire Redfish resource is not used = in edk2 Redfish + implementation as edk2 Redfish implementation has no idea of whether t= he Redfish resource + is entirely managed by BIOS or not. - Consume() - - When there is pending settings in Redfish service, this function is ca= lled for feature driver to consume pending settings - requested by user. + - When there is pending settings in Redfish service, this function is ca= lled for feature + driver to consume pending settings requested by user. HTTP GET is the = method used + to retrieve Redfish properties. - Update() - - When platform configuration is updated, this function is called to upd= ate configuration changes to Redfish service and - Redfish service can show the latest settings on platform. + - When platform configuration is updated, this function is called to upd= ate configuration + changes to Redfish service and Redfish service can show the latest set= tings on platform. + HTTP PATCH is the method used to update the properties of Redfish reso= urce. =20 The EDKII Redfish Resource Addendum Protocol is introduced to provide plat= form addendum data that Redfish service requires. This protocol will be called at Provisioning() and Update() functions so p= latform can add OEM attribute or any other attribute @@ -338,7 +349,7 @@ struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL { }; ``` =20 -### Redfish Service Implementation that Incorporates with EDK2 Redfish +### Redfish Service Implementation that Incorporates with EDK2 Red= fish The idea of Redfish synchronization design is to manage Redfish resource d= irectly by platform host firmware. To do this, Redfish synchronization functions have to work with = Redfish service implementation in BMC firmware. This is because the mechanism between platform host firmw= are and BMC firmware is not diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-provisionin= g.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg index 70556152fe..d1d653b621 100755 --- a/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg @@ -25,7 +25,7 @@ 2. Follow Bios schema and create attribute list 4. BIOS current settings is ready - Issue HTTP =E2=80=9CPUT=E2=80=9D to /redfish/v1/systems/SYS/Bios + Issue HTTP =E2=80=9CPATCH=E2=80=9D to /redfish/v1/systems/SYS/Bios Chipset/HII diff --git a/RedfishClientPkg/Documents/Media/redfish-synchronization-desig= n.svg b/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg index 2dd1fb6109..5b95dcea0f 100755 --- a/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg +++ b/RedfishClientPkg/Documents/Media/redfish-synchronization-design.svg @@ -28,10 +28,10 @@ HT= TP - PO= ST/PUT + PA= TCH HTTP <= /text> - PATCH/PUT + PATCH Red= fishResourceIdentifyLib --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#115939): https://edk2.groups.io/g/devel/message/115939 Mute This Topic: https://groups.io/mt/104577338/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-