【已评审】新增ipmi命令支持装备AC上下电

背景

装备缺少AC上下电装备测试项,仅在整机环节通过CPLD的升级实现1次AC上下电,装备阶段对AC上下电场景问题拦截率明显低于其他产业,产业要求在装备阶段增加AC上下电装备测试项,BMC新增ipmi命令实现对先执行DC下电(直接AC对单板硬件存在冲击),下电完成后等待10S,再执行AC上下电。
差距: 目前 openUBMC AC cycle IPMI命令仅支持直接AC上下电,不支持先DC后AC上下电。

评审点:Set Test Count IPMI命令新增test type 4先DC强制下电之后10秒执行AC Cycle操作

IPMI命令ipmitool raw 0x30 0x90 0x31 0x00 ${test_type}

请求参数

字节顺序 取值说明
NetFn 30h
CMD 90h
1 SubCmd,子命令= 31h
2 FRU Device ID
3 test type,测试类型选项,取值有:
0=DC power cycle测试
1=cold reset
3=AC Cycle,强制AC命令,不关注业务系统上电状态(可能会损耗业务系统的硬盘数据)
4=先DC强制下电,再执行AC Cycle
其他保留
4 test count 测试次数(test type为3,4时,test count参数会被忽略)

响应参数

字节顺序 取值说明
1 Completion Code
80h=不支持
C0h=node busy,正在测试中

使用实例

  • 请求:ipmitool raw 0x30 0x90 0x31 0x00 0x04
  • 响应:00h

评审结论

1、同意IPMI命令Set Test Count(netfn=0x30,cmd=0x90,subcmd=0x31)新增test type 0x04,表示先DC强制下电,再执行AC Cycle。
2、刷新原有test type为0的描述,明确为DC power cycle。

遗留问题

1、确认请求中的test count参数在AC Cycle场景是否应该支持?
结论:已确认test count参数在test type为3时(AC Cycle)未使用,代码实现未对test count参数进行处理,因此在test type为3或4时,test count参数会被忽略