【已评审】新增UnifiedBus端口Metrics重传次数属性及Redfish接口映射

背景

当前 UB 总线端口链路状态信息接口 bmc.kepler.UnifiedBus.Port.Metrics缺少端口重传次数的统计信息。需求新增端口重传次数属性,以便北向接口展示端口自上次重启后的重传统计,帮助运维人员评估链路质量和排查链路异常。

关联ISSUE

暂无

整体方案

  1. 为资源协作接口 bmc.kepler.UnifiedBus.Port.Metrics 新增 RetransmitCount 属性,表示端口自上次重启后的重传次数
  2. 为 Redfish 接口 /redfish/v1/Systems/:systemid/Processors/:processorid/Ports/:portid/Metrics 新增 Oem.OemIdentifier.RetransmitCount 属性映射

评审点

  1. 变更资源协作接口 bmc.kepler.UnifiedBus.Port.Metrics 新增 RetransmitCount 属性
  2. Redfish 接口 /redfish/v1/Systems/:systemid/Processors/:processorid/Ports/:portid/Metrics 新增 Oem.OemIdentifier.RetransmitCount 属性

详细描述

评审点1:变更资源协作接口 bmc.kepler.UnifiedBus.Port.Metrics 新增 RetransmitCount 属性

变更描述:UB 总线端口链路状态信息接口承载了端口链路状态统计功能,新增 RetransmitCount 属性同属于链路状态统计功能的一部分,用于记录端口自上次重启后的重传次数,与现有的 LinkUpCount、LinkDownCount 等计数属性功能定位一致。

接口链接bmc.kepler.UnifiedBus.Port.Metrics 接口定义

变更属性

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
新增 RetransmitCount s True false 端口自上次重启后的重传次数,默认值为空字符串。取值模式为 ^(0|[1-9][0-9]*|)$,即允许数字 0、正整数或空字符串。空字符串表示无数据或未采集,数值表示实际重传次数 Read: ReadOnly 带外获取 不持久化 新增属性,无兼容性问题

RetransmitCount 属性设计说明

设计项 说明
类型选择 采用 String 类型而非数值类型(t/y),因为需要支持"无数据"场景的空字符串表示。数值类型无法区分"0次重传"和"未采集数据",String 类型通过空字符串""表示未采集、数字字符串表示实际值,语义更清晰
取值模式 pattern ^(0|[1-9][0-9]*|)$ 保证值只能是:空字符串(未采集)、“0”(零次重传)、正整数字符串(实际重传次数),不允许非法格式
变化通知 emitsChangedSignal=false,该属性为易变属性且变化频率高,不发送变更信号以避免信号风暴
易变性 volatile=true,该属性值在端口重启后重置,不需要持久化存储
默认值 空字符串 “”,表示尚未采集数据或端口未初始化

变更接口影响

路径 变更接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Systems/:SystemId/Processors/CPU/:CPUId/Ports/:ID 新增 RetransmitCount 属性,提供 CPU 端口重传次数查询功能 不涉及重名属性,无影响 不涉及持久化,无影响 需实现新增属性,需从对应组件获取数据
/bmc/kepler/Systems/:SystemId/Processors/NPU/:ID/Ports/:ID 新增 RetransmitCount 属性,提供 NPU 端口重传次数查询功能 不涉及重名属性,无影响 不涉及持久化,无影响 需实现新增属性,需从对应组件获取数据

评审点2:Redfish 接口新增 Oem.OemIdentifier.RetransmitCount 属性

资源URI:/redfish/v1/Systems/:systemid/Processors/:processorid/Ports/:portid/Metrics
资源版本:PortMetrics(Redfish 标准 Schema)
变化类型:新增 Oem 属性

新增属性

一级属性 二级属性 三级属性 类型 示例/默认值/取值约束 readonly 易变属性 描述
Oem / / object / / / Oem 扩展对象(已实现)
OemIdentifier / object / / / 厂商自定义标识对象(已实现)
RetransmitCount Integer/null null 或 Integer true true 端口自上次重启后的重传次数。null 表示尚未采集数据或端口未初始化,整数表示实际重传次数

Redfish 属性与 MDB 属性映射说明

Redfish 属性 MDB 属性 映射说明
Oem.OemIdentifier.RetransmitCount RetransmitCount (String) MDB String 类型值映射为 Redfish 整数类型:空字符串 “” → null,数字字符串 → 对应整数。映射通过 Statements/Script 转换实现

Schema 定义

{
    "Oem": {
        "type": "object",
        "properties": {
            "OemIdentifier": {
                "type": "object",
                "properties": {
                    "RetransmitCount": {
                        "type": [
                                "integer",
                                "null"
                                  ]
                        "readonly": true,
                        "description": "The number of retransmissions that have occurred on this port since the last restart."
                    }
                }
            }
        }
    }
}

响应示例

{
    "Name": "Port 1 Metrics",
    "@odata.id": "/redfish/v1/Systems/1/Processors/1/Ports/1/Metrics",
    "@odata.type": "#PortMetrics.v1_7_0.PortMetrics",
    "Id": "1",
    "Oem": {
        "OemIdentifier": {
            "RetransmitCount": 5
        }
    }
}

空值场景响应示例

{
    "Oem": {
        "OemIdentifier": {
            "RetransmitCount": null
        }
    }
}

是否准备好AI预审

评审结论

同意资源协作接口 bmc.kepler.UnifiedBus.Port.Metrics 新增 RetransmitCount 属性,属性签名为 s(String 类型),只读,默认值为空字符串,取值模式为 ^(0|[1-9][0-9]*|)$,变化通知为 false,volatile=true,不持久化。

同意 Redfish 接口 /redfish/v1/Systems/:systemid/Processors/:processorid/Ports/:portid/Metrics 在已有 Oem.OemIdentifier 下新增 RetransmitCount 属性,类型为 number,readonly=true,MDB 空字符串映射为 Redfish null。

变更同时影响 CPU 端口路径 /bmc/kepler/Systems/:SystemId/Processors/CPU/:CPUId/Ports/:ID 和 NPU 端口路径 /bmc/kepler/Systems/:SystemId/Processors/NPU/:ID/Ports/:ID,两条路径均需实现新增属性。

遗留问题

预审答案内容由AI生成,仅供参考:

帖子评审结论:新增UnifiedBus端口Metrics重传次数属性及Redfish接口映射

帖子相关性:相关(Redfish 相关: 帖子内容包含 ‘redfish’ 关键字)

  • 总评审点数:2
  • MDB 资源协作接口评审点:1
  • Redfish 相关评审点:1
  • 其他评审点:0

总体结果:不通过(1/2 个评审点通过)

评审点 1:变更资源协作接口 bmc.kepler.UnifiedBus.Port.Metrics 新增 RetransmitCount 属性【MDB】

结果:不通过

  • 规则合规性检查:不通过(1/25 项失败)
    • 规则合规性失败项(必须项)
      规则ID:MDB-PROPERTY-010
      级别:必须项
      问题描述:属性描述中包含未转义的竖线字符,导致 Markdown 表格列解析错位,影响阅读但内容可人工还原,触发降级条件。
      处理建议:建议在属性描述的正则表达式中对竖线 | 进行转义(写作 \|),以修复 Markdown 表格列错位问题。

评审点 2:Redfish 接口 /redfish/v1/Systems/:systemid/Processors/:processorid/Ports/:portid/Metrics 新增 Oem.OemIdentifier.RetransmitCount 属性【Redfish】

结果:通过

  • URI 示例生成:通过
  • Schema 验证:通过(3 项通过)
    • Schema 来源:DMTF ✓,OEM ✗(实际参与校验:DMTF)
    • 入口 schema 文件:dmtf/PortMetrics.v1_0_0.json(DMTF 官方 schema(SchemaFiles/dmtf))
    • Schema 依据:静态校验直接依据:DMTF 官方 schema(SchemaFiles/dmtf)(dmtf/PortMetrics.v1_0_0.json)
  • 规则合规性检查:通过(18 项检查全部通过)