【已评审】支持天池组件多片选cpld心跳健康状态检测

ISSUE链接(必填,此议题关联的issue):

【需求】支持多片选cpld心跳检测-mdb_interface-GitCode

背景介绍

当前bmc对扩展板的心跳健康检测,只支持一个cpld的心跳检测,当存在localbus访问多个片选cpld时,不支持其他片选cpld的自检

当前差距/问题分析

V3当前仅支持一片cpld自检,无法满足业务要求,多片选localbus直接访问cpld时,硬件上只有一块cpld,但是要保证localbus多片选访问cpld异常时,能上报告警

触发原因

支持多片选cpld心跳检测

决策点

新增器件测试类,支持多chip的心跳检测

详细介绍

方案一

  • 新增类:ChipSelfTest
  • 新增path: /bmc/kepler/Systems/${SystemId}/Boards/ExpBoard/${Id}/ChipSelfTest/${ChipSelfTestId}
  • 新增interfaces:bmc.kepler.Systems.Board.ChipSelfTest
    接口可以扩展到CpuBoard、FanBoard等其他Path下
  • 变化类型:新增path,interfaces
  • 操作权限:ReadOnly
  • 详细描述:
属性名称 变化类型 签名 访问权限 持久化 变化通知 属性值来源 说明 约束
TestResult 新增属性 y R:ReadOnly W:不涉及 不持久化 true CSR,SHM Chip检测结果。0 正常, 1 异常 默认值255 表示未知

新增私有属性

  • 类:ExpBoardChipSelfTest
  • 变化类型:新增私有属性 ChipTestReg,InputTestValue
  • 应用场景:器件心跳检测关联寄存器
  • 持久化类型: 不持久化
  • 操作权限:ReadOnly
  • 详细描述:
属性名称 变化类型 签名 访问权限 持久化 变化通知 属性值来源 说明 约束
ChipTestReg 新增属性 U R:ReadOnly W:不涉及 不持久化 false CSR 器件检测试关联寄存器
InputTestValue 新增属性 ay R:ReadOnly W:不涉及 不持久化 false CSR 测试输入
ExpectValue 新增属性 ay R:ReadOnly W:不涉及 不持久化 false CSR 预期输出

评审结论

不通过,新增的interfaces与path合理性不足,私有属性关联Accessor限制较多,可扩展性不强,需重新考虑设计

请先在hardware SIG评审方案,为什么属性名要跟体现器件的编号,难道未来如果有第三个CPLD了,又增加一个Cpld3Status吗?