chassis
更新时间: 2026/08/21
在AtomGit上查看源码

功能简介

本组件主要包括7大功能特性:
(1)整机状态管理:包括开箱事件检测、UID按钮事件上报、统计设备数量及设备可插最大数量、整机状态统计;
(2)I2cLed灯控制:为装备测试提供手段控制I2cLed灯的状态;
(3)Led灯控制:包括控制UID灯的状态、基于当前告警控制健康灯颜色变化;
(4)Led数码管显示:基于当前告警,在数码管上显示相应错误码;
(5)度量数据采集:向metric_analyzer组件提供入风口和出风口温度数据;
(6)读取设备配置能力:当前仅支持读取PCIe标卡NCSI线缆是否在位、主板对PCIe标卡NCSI功能是否支持;
(7)超节点属性配置与获取:superpodid、server index、npu 规模(superpod size)并通过CPLD传递给芯片。

关键特性

整机状态管理

开箱事件检测

Chassis组件启动之后,会开启常驻协程用于更新开箱标志,当通过smc命令字检测到开箱事件之后会将IntrusionFlag设置为1,触发开箱事件。 拥有下电开箱事件上报则说明寄存器支持下电时记录开箱,上电后将寄存器中的值与当前状态作比较即可指导有无关箱。 上电时与之前一次(在数据库中持久化,可以横跨一次下电)上电开箱状态改变时的状态做比较,如果由关箱变为开箱则上报开箱;如果由上电开箱状态为有过上电开箱但目前状态为关箱则认为发生上电关箱。 开箱事件检测流程图如下:

UID按钮事件上报

UID按钮事件分为UID短按事件与UID长按事件。 UID短按会将UID灯的亮灭状态进行转换,长按复位BMC。 UID短按实现方案如下:

短按事件是基于属性监听的机制实现的,但是UID长按会导致BMC直接复位,所以不能通过属性监听的机制实现。 UID长按事件的检测时机是在BMC启动之后,会检查SMC命令字,如果获取1,则表示存在长按事件则上报。

统计设备数量及设备可插最大数量

统计方法如下: 组件名称 数量获取 CPU 遍历资源协作接口上所有CPU

Memory 遍历资源协作接口上加载的内存对象

PCIe 遍历所有Connector对象,记录Type为PCIe的数量

Disk 1、获取真实的硬盘个数 2、获取硬盘背板上槽位数和 3、取1和2中最大值+SATADOM和M.2硬盘的个数

Psu 1、遍历所有connector对象,记录Type为Ps的数量 2、获取所有OnePower对象,记录数量 3、取其中最大值为最大数量

Fan 获取所有风扇对象数量

SecurityModule 默认为1

整机状态统计

具体方案如下: 该接口会按顺序获取: 1、开机策略; 2、电源故障信息; 3、uid状态; 4、风扇健康状态; 5、硬盘健康状态等信息。 具体流程如下:

对外接口

资源协作接口

bmc.kepler.Systems.Led

path: /bmc/kepler/Systems/:SystemId/Leds/:Id

LED灯控制接口,用于控制指定LED灯的状态。

属性

属性名类型读写取值范围说明
NameStringRONALed灯的名称
OnDurationU8RONA亮灯持续时间,默认值0
OffDurationU8RONA关灯持续时间,默认值0
CapabilityU8RONA颜色,3:绿色,2:红色
SystemIdU8RONA系统id
StateU8RWNA当前Led灯的状态
IdU8RONA每个LED灯都会对应一个固定id
FruIdU8RONA关联的FRU id
ColorCapabilitiesU8RONALed灯支持的颜色能力
LocalControlStateColorStringRONA本地控制模式下的颜色
OverrideStateColorStringRONA超驰状态下的颜色
ModeU8RONALed模式
DefaultLCSColorU8RO0~6本地控制模式的默认颜色,0:reserved,1:BLUE,2:RED,3:GREEN,4:AMBER,5:ORANGE,6:WHITE
DefaultOSColorU8RO0~6超驰模式的默认颜色,0:reserved,1:BLUE,2:RED,3:GREEN,4:AMBER,5:ORANGE,6:WHITE

方法

方法名入参出参说明
SetStateState: U8, Interval: U8State: U8, OnDuration: U8, OffDuration: U8设置Led灯的状态

bmc.kepler.Systems.Led.Policy

path: /bmc/kepler/Systems/:SystemId/Leds

LED亮灯策略接口,用于配置不同告警等级的亮灯策略。

属性

属性名类型读写取值范围说明
NormalU16[]RWNANormal等级亮灯策略
MinorU16[]RWNAMinor等级亮灯策略
MajorU16[]RWNAMajor等级亮灯策略
CriticalU16[]RWNACritical等级亮灯策略

bmc.kepler.Systems.Led.Policy.SystemHealth

path: /bmc/kepler/Systems/:SystemId/Leds

LED健康灯策略接口,用于配置健康灯严重等级来源。

属性

属性名类型读写取值范围说明
SeverityReferenceSourceStringRWEvent、Sensor、EventAndSensorLed健康灯的严重等级来源

bmc.kepler.Chassis.Dimension

path: /bmc/kepler/Chassis/:ChassisId/Dimension

机框尺寸接口,用于获取机框高度。

属性

属性名类型读写取值范围说明
HeightUDoubleRONA机框高度

bmc.kepler.Chassis

path: /bmc/kepler/Chassis/:ChassisId

机框管理接口,提供机框信息、开箱事件、UID按钮事件、设备配置等信息。

属性

属性名类型读写取值范围说明
NameStringRONA机框名
IntrusionFlagU8RO0x00、0x01开箱事件标志,开箱:0x01,关闭:0x00
UidButtonPressedU8RONAUID按钮按下标志
UidButtonLongPressedU8RONAUID按钮长按标志
ChassisTypeU8RONA当前管理软件类型
LocationStringRWNA位置信息
DeviceSpecicationArrayRONA设备配置信息集合,包含设备名称、最大支持数量及物理槽位号列表
TopologyConfigIdU16RONA产品组网拓扑
ChassisIdentifierStringRWNA物理位置标识符

自定义类型

类型字段类型说明
DeviceSpecificationDeviceNameString设备名称
MaximumNumU8设备最大数量
DeviceSlotsU8[]设备槽位号
DeviceMaxCountDeviceNameString[兼容性保留]旧版本设备名称定义
MaximumNumU8[兼容性保留]旧版本设备最大数量定义

bmc.kepler.Metric

path: /bmc/kepler/Chassis/:ChassisId

度量数据采集接口,向业务组件提供采集项数据。

方法

方法名入参出参说明
GetDataMetricName: String[]Val: Array根据MetricName获取采集项数据
GetItemsComponent: String, Classification: Array, Identification: Array, MetricName: String[]获取采集项描述信息
SynDataAcquisitionEnableEnabled: U8将数据采集开关状态同步到业务组件

信号

信号名参数说明
CollectSignalMetricName: String, TagPath: String事件触发式采集的信号

自定义类型

类型字段类型说明
DataCollectionItemMetricNameString采集项名称
DataString[]采集项数据点
TagPropPropNameString采集主体属性名
PropValString采集主体属性值

bmc.kepler.Chassis.ChassisCapabilities

path: /bmc/kepler/Chassis/:ChassisId

机箱能力接口,用于获取机箱能力标志及设备地址。

属性

属性名类型读写取值范围说明
CapabilitiesFlagsU8RONA支持获取机箱能力标志
FRUDeviceAddressU8RONA机箱可更换单元信息设备地址
SDRDeviceAddressU8RONA机箱SDR设备地址
SELDeviceAddressU8RONA机箱SEL设备地址
SMDeviceAddressU8RONA机箱系统管理设备地址
BridgeDeviceAddressU8RONA机箱桥接器设备地址

bmc.kepler.Systems.NCSICapabilities

path: /bmc/kepler/Systems/:SystemId/NCSICapabilities

NCSI能力接口,用于查询PCIe标卡NCSI线缆在位及主板支持能力。

属性

属性名类型读写取值范围说明
PCIeNCSIEnabledU8RONAPCIE标卡NCSI线缆在位标记
PCIeNCSISupportedBooleanRONA用于生产查询主板对PCIE标卡NCSI功能支持能力

bmc.kepler.Chassis.SuperPodLabel

path: /bmc/kepler/Chassis/:ChassisId/SuperPodLabel

超节点标签接口,用于配置和获取超节点属性。

属性

属性名类型读写取值范围说明
SuperPodIdU32RONA超节点集合Id,默认值4294967295
ServerIndexU16RONA超节点内的计算节点Id编号,默认值65535
SuperPodSizeU16RONA超节点规模(npu卡的数量),默认值384
SuperPodEnabledBooleanRONA是否是超节点模式,未配置默认为false
TopologyTypeU8RO1、2节点拓扑类型,1:1D,2:2D
ChassisIdU16RONA超节点机框号
UBMDeployModeU8RO0、1、2计算服务器UBM部署位置,0:带内物理机,1:带外物理机,2:带内虚拟机
IsUBFabricModeBooleanRONA计算服务器是否通过UB设备组集群,True:集群,False:单机
IsUBControlNodeBooleanRONA是否为UB控制节点,true:控制节点,false:代理节点
LogicalSlotNumberU8RONA节点柜内逻辑槽位号,默认值255
PresentDPUCountU8RONA物理在位的DPU数量
NPUBootOptionU8RONANPU启动方式
InterconTypeU8RONA节点互联类型
DeviceSlotIDU8RONA节点柜内槽位号,提供上层网管配置,默认值255

方法

方法名入参出参说明
SetSuperPodIdSuperPodId: U32Result: Boolean设置超节点ID
SetServerIndexServerIndex: U16Result: Boolean设置超节点服务器编号
SetSuperPodSizeSuperPodSize: U16Result: Boolean设置超节点容量
SetSuperPodEnabledSuperPodEnabled: Boolean设置超节点模式
RestoreDefaultsResult: Boolean恢复超节点属性默认值
SetSuperPodLabelPolicy: U8, SuperPodLabel: Array设置超节点属性

自定义类型

类型字段类型说明
SuperPodLabelKeyString超节点属性名,eg:TopologyType
ValueU32超节点属性值,eg:2

bmc.kepler.Chassis.Enclosure

path: /bmc/kepler/Chassis/:ChassisId/Enclosure

机框机柜序列号接口,用于获取机柜和机框的序列号。

属性

属性名类型读写取值范围说明
CabinetSerialNumberStringRONA机柜sn
EnclosureSerialNumberStringRONA机框sn

IPMI接口

命令路径命令名称功能说明
/bmc/kepler/IpmiCmds/00/01/GetPowerCmdGetPowerCmd获取机框状态
/bmc/kepler/IpmiCmds/00/04/ChassisIdentifyChassisIdentify识别机框
/bmc/kepler/IpmiCmds/2C/06/GetLedColorCapabilitiesGetLedColorCapabilities获取机框颜色能力
/bmc/kepler/IpmiCmds/2C/07/SetFruLedStateSetFruLedState设置LED状态
/bmc/kepler/IpmiCmds/30/92/GetDeviceCapabilitiesGetDeviceCapabilities获取设备能力
/bmc/kepler/IpmiCmds/30/92/SetDeviceCapabilitiesSetDeviceCapabilities设置设备能力
/bmc/kepler/IpmiCmds/30/94/GetChassisHeightGetChassisHeight获取机框高度
/bmc/kepler/IpmiCmds/30/94/GetShelfInfoGetShelfInfo获取机架信息
/bmc/kepler/IpmiCmds/30/94/GetSuperPodLabelInfoGetSuperPodLabelInfo获取超节点标签信息
/bmc/kepler/IpmiCmds/30/94/SetSuperPodLabelInfoSetSuperPodLabelInfo设置超节点标签信息
/bmc/kepler/IpmiCmds/30/94/SetSuperPodIdSetSuperPodId设置超节点ID
/bmc/kepler/IpmiCmds/30/94/SetServerIndexSetServerIndex设置服务器索引
/bmc/kepler/IpmiCmds/30/94/SetSuperPodSizeSetSuperPodSize设置超节点规模
/bmc/kepler/IpmiCmds/30/94/SetSuperPodEnabledSetSuperPodEnabled设置超节点启用状态
/bmc/kepler/IpmiCmds/30/94/GetSuperPodEnabledGetSuperPodEnabled获取超节点启用状态

配置介绍

Led对象配置指导

属性名类型必填示例值描述
IdU84LED唯一标识符
SystemIdU81系统ID
NameString"UIDLed"LED名称
CtrlValueU8-控制值,可引用Accessor
CapabilityU81LED能力
ModeU80LED模式
ColorCapabilitiesU82LED支持的颜色能力
DefaultOSColorU81默认超驰颜色
DefaultLCSColorU81默认本地控制颜色
LCSColorU81本地控制状态颜色
LCSStateU80本地控制状态
OSColorU81超驰状态颜色
OSStateU80超驰状态
LampTestColorU81灯测试颜色
LampTestDurationU80灯测试持续时间

配置说明:

  • ✅ 表示必填属性,❌ 表示可选属性
  • 颜色值说明:0=Reserved(保留), 1=BLUE(蓝色), 2=RED(红色), 3=GREEN(绿色), 4=AMBER(琥珀色), 5=ORANGE(橙色), 6=WHITE(白色)
  • 示例可以参考vpd仓中配置