【已评审】新增redfish 接口查询和设置高温下电恢复使能开关与延时时间

ISSUE链接
【需求】支持高温下电后是否需要上电属性进行开关设置-fructrl-GitCode
背景
1: CPU过温后,硬件会主动下电,下电后,会根据私有对象ThermTrip的Actions的值决定一段时间后是否要上电还是不上电(默认上电);当cpu持续高温时可能造成os反复上下电,当前该策略配置在CSR里,没有提供相关接口供客户选择,影响可用性
2: 自动上电的延时时间后只能在csr里配置,没有对外的接口可以提供设置,影响可用性

评审点

基于上述背景,redfish需要新增加两个oem自定义属性,同时私有对象ThermTrip需要上到资源协作接口

评审点1: 新增redfish查询和设置高温下电后是否需要上电的接口 与 延时时间

URI:/redifsh/v1/Systems/:systemid
操作类型:GET/PATCH
修改描述:Oem/{{OemIdentifier}} 下新增属性新增如下属性

字段 字段说明 类型 PrivilegeMap配置 取值举例
PowerOnAfterCpuThermalTrip CPU过温保护下电再上电策略开启状态 布尔值 GET: ReadOnly
PATCH:PowerMgmt
true:需要上电
false:不需要上电
DelaySecondsAfterCpuThermalTrip CPU过温保护下电再上电间隔秒数 整数类型 GET: ReadOnly
PATCH:PowerMgmt
范围在0~1800的正整数

示例:

Oem: {
    "{{OemIdentifier}}": {
       "PowerOnAfterCpuThermalTrip": true,
       ”DelaySecondsAfterCpuThermalTrip“:300
       }
}

评审点2: 资源协作接口增加 ThermalTrip

新增interface

bmc.kepler.Systems.ThermalTrip

新增属性如下

属性名称 变化类型 描述 类型 读写&权限 持久化 变化通知 取值说明
Action 属性新增 高温下电后上电策略 U8 Write:PowerMgmt
Read:ReadOnly
掉电持久化 false 1:需要上电
0:不需要上电
默认是1
TimeDelaySeconds 属性新增 高温下电后上电延时时间 U32 Write:PowerMgmt
Read:ReadOnly
掉电持久化 false 单位为秒,默认300

评审结论

通过,具体结论如下:

  1. 评审点1:同意 Redfish 接口 /redifsh/v1/Systems/:systemid 下新增 Oem 属性,具体属性信息如下:
  • PowerOnAfterCpuThermalTrip,类型为 boolean, 表征CPU过温保护下电再上电策略开启状态,PATCH操作权限为 PowerMgmt
  • DelaySecondsAfterCpuThermalTrip,类型为 integer, 表征CPU过温保护下电再上电间隔秒数,PATCH操作权限为 PowerMgmt
  1. 评审点2:同意新增资源协作接口 bmc.kepler.Systems.ThermalTrip,该接口需要挂接在资源 /bmc/kepler/Systems/:SystemsId/Fructrl/:FruId,表征当前 Host 的高温下电后上电策略配置。具体属性信息如下:
  • Action,签名为 y, 表征高温下电后上电策略动作,默认为上电;属性可以读写,其中读权限 ReadOnly ,写权限 PowerMgmt
  • TimeDelaySeconds,签名为 u, 表征高温下电后上电延时时间,单位为秒,默认300;属性可以读写,其中读权限 ReadOnly ,写权限 PowerMgmt

@hxmygcs 当前评审发帖需要答复和闭环以下问题:

问题1:评审点2新增的资源协作接口需要说明变更的原因,以及兼容性处理策略
问题2:评审点2中资源协作接口下的属性的说明需要明确细化,说明这里的高温下电是什么原因的下电,接口名称是不是就是 ThermalTrip 导致的下电之后的上电策略?