【待评审】IPMI 新增查询BMC启动状态命令

背景

在装备生产加工中,调用load脚本升级bmc、csr后,BMC会自动重启,脚本中通常采用固定等待的方式判断BMC是否启动完成,若当等待时间结束后,BMC自发现还未完成,可能导致脚本报错退出。因产品差异,BMC启动时间基线不一致,为解决此类问题,因此需要提供一条ipmi命令,支持查询BMC启动完成状态

关联ISSUE

暂无

整体方案

新增ipmi命令,支持查询BMC的启动状态,优化新产品的装备脚本,根据BMC的启动状态,判断bmc是否启动完成,不在脚本里固定等待

当前BMC启动状态的资源树属性已评审,评审链接:【已评审】新增支持获取BMC的BOOT状态 - Interface SIG / Interface评审 - openUBMC 论坛

评审点

ipmi命令新增查询BMC启动状态命令

详细描述

命令名称: GetBMCBootStatus
命令说明: 获取BMC的启动状态
命令权限: ReadOnly
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x90 <ManufacturerID> <SubCmd>

  • 响应:<ManufacturerID> <Result>

命令请求参数:

字节顺序 域取值说明
NetFn 30
Cmd 93
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 Sub command, 子命令=96h

命令响应参数:

字节顺序 域取值说明
1 Completion Code,
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 BMC启动状态
0:BMC未完成启动

1:BMC启动完成

命令示例:

  • 请求:ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x96

  • 响应:db 07 00 01

评审结论

遗留问题