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

背景

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

当前redfish接口已支持获取bmc的启动状态,实现逻辑是,获取BMC系统的运行时间和CSR配置的启动时间比较,当大于CSR配置的启动时间,认为BMC启动完成;当小于CSR配置的启动时间或接口请求失败时认为未启动完成

关联ISSUE

暂无

整体方案

新增ipmi命令,支持查询BMC的启动状态,优化新产品的装备脚本,根据CSR配置的StartupDuration,判断bmc是否启动完成

评审点

Get BMC Configuration ipmi命令新增Parameter Selector 0x4F,查询BMC启动状态命令

详细描述

命令名称: Get BMC Configuration (已有的命令新增Parameter Selector )
命令说明: 获取BMC的启动状态
命令权限: ReadOnly
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x90 <ManufacturerID> <SubCmd> <Parameter Selector> <Data Length> <Parameter Data>

  • 响应:<ManufacturerID> <Result>

命令请求参数:

字节顺序 域取值说明
NetFn 30
Cmd 93
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 Sub command, 子命令=5bh
5:6 Parameter Selector,0x004F
7:8 Data Length,低字节在前。0x0000
9:N Parameter Data

命令响应参数:

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

1:BMC启动完成

命令示例:

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

  • 响应:db 07 00 01

BMC配置参数表

功能描述 parameter selector parameter data-get parameter data-set
BMC启动状态 0x4F 请求:
Data Length:0
响应:
Data Length:1
data1:bmc启动状态
0-BMC启动未完成
1-BMC启动完成
不支持

评审结论

同意在Get BMC Configuration 命令Parameter Selector 新增枚举值0x4F,用于查询BMC启动状态

遗留问题