Redfish议题申报评审点编写指南

摘要

本文档是Redfish接口议题申报的评审点撰写指南,主要内容涵盖:

  • 资源新增 :评审要点与内容组织规范。
  • 属性新增 :评审要点与内容组织规范。
  • Action新增 :评审要点与内容组织规范。

快速链接

Redfish Schema下载
Redfish接口设计合规性必检指南

详细描述

本节内容与 接口评审议题模版 中的 详细描述 部分对应,评审点的具体数量根据实际申报的议题内容灵活确定。下文分类提供了不同场景下,撰写评审点的详细指导与建议结构:

评审点1:新增 XX 标准资源 (XX举例:ComputerSystem )

资源URI该资源在服务中的完整访问路径,示例:/redfish/v1/Systems/{ComputerSystemId}
资源版本所遵循的官方 Redfish Schema 具体版本,必须与实现的属性和行为严格对应,示例:ComputerSystem.v1_20_0
Required属性必须完整实现对应 Schema 版本 "required" 中的所有属性
嵌套资源明确声明该资源在数据模型中直接被包含于哪个父资源之下,示例: 本资源(ComputerSystem )嵌套于 ServiceRoot 资源的 Systems 属性中
Link资源 确定并声明与此资源存在逻辑关联 、需要通过 Links 对象进行链接的其他资源。可从以下维度分析确定:

  1. 标准文档对标: 查阅 Redfish 官方接口文档及其他相关资源的 Schema 定义,确认是否存在预定义的 Links 属性指向此类资源。
  2. 功能管理归属: 分析谁在功能上 “拥有”、“管理”或“控制” 此资源。通常需链接到其管理主体(如 ComputerSystem , Manager )。若标准链接不满足需求,可考虑通过Links下的 Oem属性扩展
  3. 逻辑引用依赖: 分析哪些其他资源在逻辑上需要知晓或引用此资源的存在以完成其自身功能(如 Volume 引用其所属的 StoragePool )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展。

属性列表
注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id@odata.typeIdName ,集合资源还包括:MembersMembers@odata.count),默认均需实现。
注2 :列表内属性默认均支持GET 操作。
注3: 若属性在Schema中未显式定义 readonly 关键字,则默认为只读

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
AssetTag [string,null] Chicago-45Z-2381 false BasicSetting 用于资产追踪的用户标签
SystemType string 枚举值:Physical、Virtual、OS true / ReadOnly 此资源所代表的计算机系统类型
    State string 枚举值:Enabled、Disabled、Absent true / ReadOnly 所指资源的当前状态
    Health string 枚举值:OK、Warning、Critical true / ReadOnly 资源自身的健康状态,不包括其依赖资源的影响
    HealthRollup string 枚举值:OK、Warning、Critical true / ReadOnly 资源整体健康状态,包括其下级资源的影响
Status object / / / / / 此资源及其下级或依赖资源的状态与健康信息。
Oem object / / / / / 厂商自定义资源
    openUBMC object / / / / / 厂商标志
        LocalKvmEnabled bool true 或 false false KVMMgmt 本地Kvm使能

评审点2:新增 XX Oem资源 (XX举例:hwBootCertificates)

资源URI该OEM资源的完整访问路径,必须位于OEM扩展路径下,示例:/redfish/v1/Systems/{ComputerSystemId}/Bios/Oem/openUBMC/BootCertificates
资源版本自定义资源定义版本,必须与实现的属性和行为严格对应,示例:hwBootCertificates.v1_0_0
嵌套资源明确声明该资源在数据模型中直接被包含于哪个父资源之下,示例: 本资源(hwBootCertificates )嵌套于 Bios 资源的 Oem/openUBMC/BootCertificates 属性中
Link资源 确定并声明与此资源存在逻辑关联、需要通过 Links 对象进行链接的其他资源。可从以下维度分析确定:

  1. 功能管理归属: 分析谁在功能上 “拥有”、“管理”或“控制” 此资源。通常需链接到其管理主体(如 ComputerSystem , Manager )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展
  2. 逻辑引用依赖: 分析哪些其他资源在逻辑上需要知晓或引用 此资源的存在以完成其自身功能(如 Volume 引用其所属的 StoragePool )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展。
  3. 鼓励在OEM资源内部提供标准 Links 属性,指向其关联的标准资源,以增强可发现性。

属性列表
注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id@odata.typeIdName ,集合资源还包括:MembersMembers@odata.count),默认均需实现。
注2 :列表内属性默认均支持GET 操作。
注3 :OEM资源下的所有属性均视为该厂商的扩展属性,其定义应直接位于资源下,避免 再额外增加一层 Oem 对象嵌套。

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Certificates object {
    "@odata.id": " /redfish/v1/Systems/{ComputerSystemId}/Bios/Oem/openUBMC/BootCertificates/Certificates"
}
/ / / / 此属性包含指向 CertificateCollection 资源集合的链接

Schema定义所有OEM资源必须提供其独立的Schema定义文件,该文件在格式、语法和结构上须与官方Redfish Schema文件保持一致。

评审点3:XX 资源新增属性 (XX举例:ComputerSystem )

资源URI待新增属性的资源URI,示例:/redfish/v1/Systems/{ComputerSystemId}
资源版本待新增属性的资源版本,示例:ComputerSystem.v1_20_0

属性列表
注1 :列表内属性默认均支持GET 操作。
注2: 若属性在Schema中未显式定义 readonly 关键字,则默认为只读

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
AssetTag [string,null] Chicago-45Z-2381 false BasicSetting 用于资产追踪的用户标签
SystemType string 枚举值:Physical、Virtual、OS true / ReadOnly 此资源所代表的计算机系统类型
    State string 枚举值:Enabled、Disabled、Absent true / ReadOnly 所指资源的当前状态
    Health string 枚举值:OK、Warning、Critical true / ReadOnly 资源自身的健康状态,不包括其依赖资源的影响
    HealthRollup string 枚举值:OK、Warning、Critical true / ReadOnly 资源整体健康状态,包括其下级资源的影响
Status object / / / / / 此资源及其下级或依赖资源的状态与健康信息。
Oem object / / / / / 厂商自定义资源
    openUBMC object / / / / / 厂商标志
        LocalKvmEnabled bool true 或 false false KVMMgmt 本地Kvm使能

Schema定义所有OEM属性必须提供其Schema定义,该文件在格式、语法和结构上须与官方Redfish Schema文件保持一致。

评审点4:XX 资源新增Action (XX举例:Bios)

资源URI待新增Action的资源URI,示例1:/redfish/v1/Systems/{ComputerSystemId}/Bios/Actions/Bios.ResetBios
资源版本待新增Action的资源版本,示例:Bios.v1_2_3
操作权限示例:BasicSetting
输入参数若该Action包含输入参数,需按以下格式在申报材料中补充参数详情表(下表为示例,非真实数据)

参数名 类型 必填 示例/取值约束 描述
ResetType string 枚举值:ForceRestart、GracefulShutdown 重启类型
DelaySeconds integer 取值范围:[10, 60] 重启延迟时间

ActionInfo配套新增ActionInfo的资源URI

Schema定义所有OEM Action必须提供其Schema定义,该文件在格式、语法和结构上须与官方Redfish Schema文件保持一致。

【模板意见】

  1. 这里最好给一个 DMTF 官方的 schema 的链接,方便模板中直接进行跳转查阅

【模板意见】

  1. 对于标准的 Redfish 属性只实现子集的部分(如:规范是 read-write,当前仅实现 read),需要明确在属性上进行说明

done

属性表格中的 实现Patch列就是处理这个的