【已评审】新增 PCIeSlotOccupant 资源协作接口及路径

背景

当前 PCIe 设备管理需要感知占用PCIe槽位的卡,在硬件在位情况下,是否成功加载,以支持 PCIe 不建链告警功能。对于PCIe设备,有PCIeDevice对象,在加载时可以通过这个对象判断;对于非PCIe,仅占用槽位的设备,需要新增 PCIeSlotOccupant 资源协作接口和路径。

关联ISSUE

支持PCIe标卡在位但是建链失败告警

整体方案

在 pcie_device 组件中新增 PCIeSlotOccupant 资源协作路径和接口,用于管理 PCIe 槽位的非PCIe设备。依赖 mdb_interface 仓新增接口定义,pcie_device 组件通过 model.json 配置实现。

不建链告警检测原理:OS 启动后(SMBIOS 就绪后延迟 10 分钟),遍历所有配置了 TianChi 连接器的 PCIe 卡槽位(PcieAddrInfo.ComponentType 为 8),结合 BusinessConnector 判断硬件在位(TianChi 连接器 Presence 为真),同时检查设备对象存在状态(PCIeDevice 对象存在且 DeviceType 为 8、PCIeSlotOccupant 对象存在、UBInterfaceCard 对象存在,三者满足其一即可)。若硬件在位但没有加载对应的对象,则上报 0x08000067 告警;若硬件不在位或相关槽位有设备对象,则消除告警。

评审点

  1. 新增资源协作路径 /bmc/kepler/Chassis/${ChassisId}/PCIeSlotOccupants/${Id}

  2. 新增资源协作接口 bmc.kepler.Chassis.PCIeSlotOccupant

详细描述

评审点1:新增资源协作路径 /bmc/kepler/Chassis/${ChassisId}/PCIeSlotOccupants/${Id}

路径描述:用于管理 PCIe 槽位的软件占用状态,区分物理在位、非管理型占用等场景,归属 PCIe 设备管理功能域。

实现接口

实现接口 实现接口描述 CSR配置影响 持久化影响 其他影响
bmc.kepler.Chassis.PCIeSlotOccupant 实现 SlotId 和 Type 属性,提供槽位占用信息查询功能 新增 SlotId 属性 CSR 配置 不涉及持久化,无兼容性问题 需 pcie_device 组件实现 PCIeSlotOccupant 类

评审点2:新增资源协作接口 bmc.kepler.Chassis.PCIeSlotOccupant

接口描述:定义 PCIe 槽位占用信息,包括槽位号和占用类型,用于感知 PCIe 槽位上的占位对象,支持 PCIe 不建链告警功能。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
SlotId y True false 槽位号,表示 PCIe 槽位编号 Read: ReadOnly CSR false
Type s True false 设备占用PCIe槽位的类型,枚举值包括:""(默认)、"PhysicalSlotOccupant"、"Unmanaged",默认值为空字符串 Read: ReadOnly false

Type 枚举值说明:

  • "PhysicalSlotOccupant":物理槽位占用,不是PCIe设备。

  • "Unmanaged":该槽位是正常的PCIe设备但不作为PCIe设备管理。

新增接口影响

路径 新增接口影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Chassis/${ChassisId}/PCIeSlotOccupants/${Id} 对外提供 PCIe 槽位占用信息查询功能 新增 SlotId 属性 CSR 配置 不涉及持久化,无兼容性问题 需 pcie_device 组件实现 PCIeSlotOccupant 类

是否准备好AI预审

是

评审结论

同意以下变更:

  1. 新增资源协作路径 /bmc/kepler/Chassis/${ChassisId}/PCIeSlotOccupants/${Id},详情见详细描述

  2. 新增资源协作接口 bmc.kepler.Chassis.PCIeSlotOccupant,详情见详细描述

遗留问题

  1. 名称改为PCIeSlotOccupant,体现出针对槽位
    闭环情况:已修改

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

帖子评审结论:新增 PCIeOccupant 资源协作接口及路径

帖子相关性:相关(MDB 相关: 标题含强特征: 资源协作)

  • 总评审点数:3
  • MDB 资源协作接口评审点:3
  • 其他评审点:0

总体结果:通过(3/3 个评审点通过)

评审点 1:新增资源协作路径 /bmc/kepler/Systems/${SystemId}/PCIeOccupants/${Id}【MDB】

结果:通过

  • 规则合规性检查:通过(28 项检查全部通过)

评审点 2:新增资源协作接口 bmc.kepler.Systems.PCIeOccupants.PCIeOccupant【MDB】

结果:通过

  • 规则合规性检查:通过(28 项检查全部通过)
    • 警告项(建议性):
      规则ID:MDB-NAMING-028
      级别:建议性
      问题描述:属性 SlotID 描述为“槽位号”,语义命中社区高频场景,但未优先复用社区沉淀的 SlotNumber 词汇。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

评审点 3:变更资源协作接口 bmc.kepler.Systems.PCIeDevices.PCIeDevice,新增 DeviceType 属性【MDB】

结果:通过

  • 规则合规性检查:通过(28 项检查全部通过)