背景
在装备生产加工中,调用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