背景
当前 TelemetryService 相关 Redfish 接口响应、上报数据格式存在部分Oem定制属性与 Redfish 标准定义不一致的问题,主要包括:
/redfish/v1/TelemetryService/MetricDefinitions/{MetricDefinitionId}资源中,MetricProperties当前自定义实现为数组对象,标准格式应为字符串数组。/redfish/v1/TelemetryService/MetricReports/{MetricReportId}资源中,MetricReportDefinition当前自定义实现为数组对象,标准格式应为对象。- MetricReport 事件上报报文格式中:
Id自定义序号使用数字编号,标准格式应使用上报报告类型。- 报文中的
GeneratedMetricReportValues应对应标准格式中的MetricValues。 - 标准格式的报文体中不会出现
EventType和MetricReportName。
为对接 Redfish 标准实现,同时兼容已有北向对接场景,在 TelemetryService 接口下新增属性用于控制 TelemetryService 相关资源和 MetricReport 事件报文按 Redfish 标准格式展示,或保持原有 OEM 存量格式展示。
相关评审链接
暂无
关联ISSUE
暂无
整体方案
在 /redfish/v1/TelemetryService 接口下新增 OEM 属性控制 TelemetryService 资源显示格式:
Oem.{{OemIdentifier}}.SchemaComplianceMode
该属性为枚举字符串,取值如下:
| 取值 | 含义 |
|---|---|
Standard |
按 Redfish 标准格式展示 TelemetryService 相关资源和 MetricReport 事件报文 |
Oem |
保持当前存量 OEM 格式展示,用于兼容已有北向对接实现 |
同时,在资源协作接口 /bmc/kepler/TelemetryService 的 bmc.kepler.TelemetryService 下新增 SchemaComplianceMode 属性,用于保存和控制当前格式模式,默认取值为Standard。
评审点
TelemetryService对象资源协作接口新增SchemaComplianceMode属性表示 TelemetryService 相关接口响应和报文内容格式;- 在
/redfish/v1/TelemetryService接口下新增SchemaComplianceMode属性表示 TelemetryService 相关接口响应和报文内容格式;
详细描述
评审点1:TelemetryService对象资源协作接口新增SchemaComplianceMode属性
资源path:/bmc/kepler/TelemetryService
资源interface:bmc.kepler.TelemetryService
变化类型 :新增属性SchemaComplianceMode
应用场景 :控制 TelemetryService 资源显示格式
| 变更类型 | 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 变更影响 |
|---|---|---|---|---|---|---|---|---|---|
| 新增 | SchemaComplianceMode | s | false | true | TelemetryService 资源显示格式。 取值:Standard: 按 Redfish 标准格式展示 TelemetryService 相关资源和 MetricReport 事件报文,Oem: 保持当前存量 OEM 格式展示,用于兼容已有北向对接实现 默认值:Standard |
Read: ReadOnly Write: BasicSetting |
NA | 掉电持久化 | 无影响 |
评审点2:TelemetryService接口下新增Oem.{{OemIdentifier}}. SchemaComplianceMode属性
资源URI:/redfish/v1/TelemetryService
资源版本:TelemetryService.v1_3_4
变化类型:新增 OEM 属性
操作类型:GET/PATCH
属性列表:
| 属性名 | 类型 | 示例/默认值/取值约束 | readonly | 易变属性 | 实现PATCH | 操作权限 | 描述 |
|---|---|---|---|---|---|---|---|
Oem/{{OemIdentifier}}/SchemaComplianceMode |
string | Standard / Oem,默认值为 Standard |
false | 否 | 是 | Read:ReadOnly;Patch:BasicSetting | TelemetryService 相关接口及上报报文格式模式,用于控制标准格式或 OEM 格式展示 |
属性示例:
{
"@odata.id": "/redfish/v1/TelemetryService",
"@odata.type": "#TelemetryService.v1_3_4.TelemetryService",
"Id": "TelemetryService",
"Name": "Telemetry Service",
"Oem": {
"{{OemIdentifier}}": {
"SchemaComplianceMode":"Standard"
}
}
}
PATCH 示例:
{
"Oem": {
"{{OemIdentifier}}": {
"SchemaComplianceMode": "Oem"
}
}
}
SchemaComplianceMode 对接口展示的影响如下:
| 接口/报文 | Standard 模式 |
Oem 模式 |
|---|---|---|
MetricDefinitions/{id} 的 MetricProperties |
字符串数组,例如 ["/redfish/v1/Chassis/1/Sensors/CPU#/Reading"] |
保持原有数组对象格式 |
MetricReports/{id} 的 MetricReportDefinition |
对象,例如 {"@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/{id}"} |
保持原有数组对象格式 |
MetricReport 事件 @odata.id |
修正为 /redfish/v1/TelemetryService/MetricReports/{MetricReportId} |
保持原有路径格式 |
MetricReport 事件 Id |
使用上报报告类型 | 保持原有数字编号 |
| MetricReport 事件指标值字段 | 使用 MetricValues |
保持原有 GeneratedMetricReportValues |
| MetricReport 事件冗余字段 | 不携带 EventType、MetricReportName |
保持原有字段 |
评审结论
已下线审核,同意新增SchemaComplianceMode资源协作接口属性,Redfish属性SchemaComplianceMode已在相关组织评审
遗留问题
无