摘要
本文档是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 对象进行链接的其他资源。可从以下维度分析确定:
标准文档对标: 查阅 Redfish 官方接口文档及其他相关资源的 Schema 定义,确认是否存在预定义的 Links 属性指向此类资源。功能管理归属: 分析谁在功能上 “拥有”、“管理”或“控制” 此资源。通常需链接到其管理主体(如 ComputerSystem , Manager )。若标准链接不满足需求,可考虑通过Links下的 Oem属性扩展。逻辑引用依赖: 分析哪些其他资源在逻辑上需要知晓或引用此资源的存在以完成其自身功能(如 Volume 引用其所属的 StoragePool )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展。
属性列表:
注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id 、@odata.type 、Id 、Name ,集合资源还包括:Members、Members@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 对象进行链接的其他资源。可从以下维度分析确定:
功能管理归属: 分析谁在功能上 “拥有”、“管理”或“控制” 此资源。通常需链接到其管理主体(如 ComputerSystem , Manager )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展。逻辑引用依赖: 分析哪些其他资源在逻辑上需要知晓或引用 此资源的存在以完成其自身功能(如 Volume 引用其所属的 StoragePool )。若标准链接不满足需求,可考虑通过Links下的 Oem 属性扩展。鼓励在OEM资源内部提供标准 Links 属性,指向其关联的标准资源,以增强可发现性。
属性列表:
注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id 、@odata.type 、Id 、Name ,集合资源还包括:Members、Members@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文件保持一致。