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限制较多,可扩展性不强,需重新考虑设计