代码仓
中
CSR配置字典之ChassisFruCtrl类
更新时间: 2026/11/09
在AtomGit上查看源码

📋 文档信息 ​

项目内容
文档标题ChassisFruCtrl类配置字典
版本v1.3
创建日期2025-01-27
最后更新2026-11-07
维护状态✅ 活跃维护

📋 变更历史记录 ​

文档变更记录 ​

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建ChassisFruCtrl类配置字典全新文档系统管理员
v1.12026-05-15修订对齐model.json,更新属性类型和默认值ChassisFruCtrl所有CSR属性基础服务组
v1.22026-11-03优化补充PowerGDState枚举取值:0-下电,1-上电PowerGDState字段基础服务组
v1.32026-11-07修订与模型同步,补充 CSR 属性:PowerOffLocked、PowerOffLockedReasons、PowerOnStrategy、PowerStateChassisFruCtrl待补充

🎯 类概览 ​

ChassisFruCtrl 类 ​

属性值
类名称ChassisFruCtrl
功能描述机箱FRU电源控制,支持上下电策略、错峰控制、PowerCycle管理等
所属SIG组hardware
所属组件fructrl
责任人基础服务组
最后更新2026-11-07
状态🟢 正常运行

📊 属性定义详表 ​

模型来源:fructrl/mds/model.json。字段是否可由 CSR 配置以模型的 usage 为准;接口属性的类型和描述补查 mdb_interface/json/intf 中同名接口,模型显式定义优先。

ChassisFruCtrl 类 - 必选属性 ​

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
PowerGDStateU8-0:下电;1:上电-关联整机PG寄存器,表征整机上下电状态配置整机PG状态1CSR硬件

ChassisFruCtrl 类 - 可选属性 ​

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
StaggeredPowerOnIntervalU860U8-错峰上电时间间隔,单位s配置错峰上电间隔60CSR软件
StaggeredPowerOffIntervalU80U8-错峰下电时间间隔,单位s配置错峰下电间隔0CSR软件
PowerCycleIntervalU810U8-下电再上电时间间隔,单位s配置PowerCycle间隔10CSR软件
PowerOffLockedBoolean无--是否下电锁定:true:锁定 false:解锁CSR 配置falseCSR配置硬件
PowerOffLockedReasonsString[]无--不允许下电的原因,KVM呈现,记录所有原因CSR 配置[]CSR配置硬件
PowerOnStrategyStringAlwaysPowerOn["AlwaysPowerOff", "AlwaysPowerOn", "LastState", "AlwaysPowerOnUnmodifiable"]-整刀片通电开机策略,各枚举含义及实现限制见下表CSR 配置AlwaysPowerOnCSR配置硬件
PowerStateString无ON:上电;OFF:下电-整刀片上下电状态CSR 配置"ON"CSR配置硬件

PowerOnStrategy 取值说明 ​

取值含义与当前实现
AlwaysPowerOffAC 恢复供电后保持下电,不自动开机。
AlwaysPowerOnAC 恢复供电后自动开机,仍须满足上电条件。
LastState恢复 AC 掉电前的上下电状态:原来上电则开机,原来下电则保持下电。
AlwaysPowerOnUnmodifiable接口枚举中表示不可修改的自动开机策略;当前公共 fructrl 实现未提供该值的专用分支及禁止修改逻辑,会进入兜底上电分支并记录策略获取失败日志。不能依靠此值锁定策略,配置前需确认目标固件支持。

实现依据:fructrl/src/lualib/chassis_fructrl/power_ctrl.lua 将整机策略下发到各主机;fructrl/src/lualib/pwr_restore.lua 的 pp_do_pwr_restore_process 处理前三种策略,其余值走兜底上电分支。接口 mdb_interface/json/intf/mdb/bmc/kepler/Chassis/FruCtrl.json 声明上述四个枚举,策略属性允许写入。


📝 配置示例 ​

机箱电源控制配置 ​

json
{
  "ChassisFruCtrl": {
    "Id": 1,
    "PowerGDState": 1,
    "StaggeredPowerOnInterval": 60,
    "StaggeredPowerOffInterval": 0,
    "PowerCycleInterval": 10,
    "PowerOnStrategy": "AlwaysPowerOn"
  }
}

🔧 使用指南 ​

配置步骤 ​

  1. 配置整机PG状态:设置PowerGDState关联整机状态
  2. 配置错峰间隔:根据需要设置StaggeredPowerOnInterval和StaggeredPowerOffInterval
  3. 配置PowerCycle:设置PowerCycleInterval控制重启间隔

注意事项 ​

  • PowerGDState:关联整机PG寄存器,表示上下电状态
  • StaggeredPowerOnInterval:单位为秒,用于错峰上电避免冲击
  • StaggeredPowerOffInterval:默认0表示不下电

故障排查 ​

  • 整机状态异常:检查PowerGDState配置
  • 上电冲击过大:调整StaggeredPowerOnInterval
  • PowerCycle失败:检查PowerCycleInterval设置