【已评审】IPMI接口支持ACCycle

背景

客户有需求,需要在现网BMC版本的IPMI命令中支持 AC cycle 功能。
差距: 目前 openUBMC 仅有资源协作接口支持 AC cycle 功能,无对应的IPMI命令支持。

评审点

整体方案:AC Cycle 由于操作影响面很大,因此属于受限提供功能。具体如下:

  • 需要 fructrl 组件资源协作接口提供AC功能使能接口,在使能的情况下才能执行 AC cycle 的IPMI命令
  • 需要 fructrl 组件注册和实现IPMI命令,实现 AC cycle 的功能;如果 fructrl 组件的 AC cycle 功能使能为 Disabled 状态(默认状态),则IPMI响应码返回 0xD5(Command not supported in present state)

评审点1:fructrl 支持AC功能使能

path/bmc/kepler/Systems/:SystemId/FruCtrl
interfacebmc.kepler.Systems.FruCtrl
新增属性:ACCycleEnabled

取值说明
属性名称 ACCycleEnabled
属性类型 Boolean
属性类型 rw
属性权限 read:ReadOnly
write:PowerMgmt
属性持久化 掉电持久化
是否发送通知 false
属性来源 由代码直接写值
属性说明 AC功能是否使能,默认为false,使能之后可以使用北向接口进行 AC cycle 操作
其他说明 设置之后需要记录操作日志,日志内容为:Set chassis AC cycle enabled

评审点2:fructrl 支持IPMI命令执行 AC cycle 操作

IPMI命令ipmitool raw 0x00 0x02 {option}

请求参数

字节顺序 取值说明
1 NetFn,Chassis 00h,固定值
2 Cmd,02h,固定值
3 option,机框控制的选项,取值有:
[7:4] reserved
[3:0] option,取值如下:
  0h=power down
  1h=power up
  2h=power cycle(optional)
  3h=hard reset
  4h=pulse Diagnostic Interrupt(optional)
  5h=Initiate a soft-shutdown os OS via ACPI(optional)
  6h=graceful power cycle(extend, optional)
7h=AC cycle(extend, additional, optional)

响应参数

字节顺序 取值说明
1 Completion Code

Note: option 7h can be executed additionally while the AC cycle function is enabled. The completion code 0xD5(Command not supported in present state) while the AC cycle function is disabled

使用实例

  • 请求:ipmitool raw 0x00 0x02 0x07
  • 响应:

评审结论

通过,具体评审结论如下:

  • 同意在资源协作接口 bmc.kepler.Systems.FruCtrl 下新增属性 ACCycleEnabled,属性为可读写,权限为 read:ReadOnly; write:PowerMgmt;属性是掉电持久化,默认值为 false
  • 同意新增 ACCycle 的IPMI命令,NetFn 为 Chassis 00h, Cmd 为 02h,扩展对应的 option 为 07h,表征 AC Cycle 操作

评审问题:需要考虑支持 配置导入导出以及定制化项
— 答复 pengqiang-gs
已经增加新的议题:新增定制化项和配置导入导出项支持ACCycle的使能

1 个赞