【待评审】管理板风扇、电源、电子保单聚合管理接口评审

1. 背景

管理板(SMM)需通过统一框级 Web 界面管理框内多块节点 BMC,提升框级设备服务级运维能力。路径级总评(topic/7480)已确定相关能力的资源树路径、实现接口名与北向 WebREST URI;本帖在此基线上新增风扇电源及机框电子保单汇聚路径及方法/属性与 WebREST 入参、出参、Msg。

2. 整体方案

方案实现接口调用链:

SMM Web UI -> WebREST -> SMM 后端 -> Redfish -> BMC

2.1 风扇管理

框级Web汇聚各节点风扇信息(转速模式、转速、电子标签、固件版本),支持风扇调速模式及转速查询与设置。

2.2 PSU管理

框级Web支持显示PSU硬件PCBVersion信息。

2.3 机框电子保单

框级Web支持显示机框电子保单信息。

3. 评审点清单

3.1 已评Path下新增方法-/bmc/kepler/AggregationService/Aggregates/${AggregateId}/ChassisService/Blades/${BladeId} (见 topic/7791)

  • 新增内容:新增GetFanInfo、SetSmartCoolingMode、SetCtrlMode及SetManualLevel方法

3.2 新增WebRest接口用于汇聚管理风扇信息

  • 新增内容:
    • /UI/Rest/Chassis/AggregationService/Thermal GET
    • /UI/Rest/Chassis/AggregationService/Thermal PATCH

3.3 新增WebRest接口出参-UI/Rest/System/PowerSupply GET用于Web显示PSU硬件版本信息

  • 新增内容:新增属性HardwareVersion

3.4 已评Path下新增属性-/bmc/kepler/AggregationService/Aggregates/:AggregateId/ChassisService(见 topic/6935)

  • 新增内容:新增属性StartPoint、Lifespan及FirstPowerOnTime

4. 详细评审点

4.1 已评Path下新增GetFanInfo、SetSmartCoolingMode、SetCtrlMode及SetManualLevel方法,已评基线(topic/7791)

变更描述: 已有资源树接口下新增方法

path(已有):/bmc/kepler/AggregationService/Aggregates/${AggregateId}/ChassisService/Blades/${BladeId}

interface(已有):bmc.kepler.AggregationService.Blade

新增方法
方法名称 请求签名 响应签名 访问权限
GetFanInfo (无) aa{sv} ReadOnly
SetSmartCoolingMode a{ss}s (无) BasicSetting
SetCtrlMode a{ss}su (无) BasicSetting
SetManualLevel a{ss}yy (无) BasicSetting

GetFanInfo

无入参。在本 Blades/${BladeId} 实例上调用,返回该单板全部风扇信息(单板可有多个风扇,故为数组)。出参采用 aa{sv} 字典数组,便于后续扩展风扇其他字段;本期必选键如下,消费方应忽略未知键。

响应参数

键 类型 说明
PartNumber s 部件编码
Speed q 转速
SpeedRatio u 速率比
Model s 风扇型号
Name s 风扇名称
SoftwareVersion s 风扇固件版本
Health s 健康状态:OK / Minor / Major / Critical / Unknown(默认 Unknown)
PcbVersion s 风扇硬件版本
Presence y 在位状态, 1: 在位, 0:不在位
Position s 风扇所在位置
FanId s 风扇标识
Fru/Board/ProductName s 单板域产品名
Fru/Board/SerialNumber s 单板域序列号
Fru/Board/PartNumber s 单板域部件号
Fru/Board/FruFileId s 单板域文件ID
Fru/Board/Manufacturer s 单板域制造商
Fru/Board/ManufacturingDate s 单板域制造日期
Fru/Product/ProductName s 产品域产品名
Fru/Product/SerialNumber s 产品域序列号
Fru/Product/PartNumber s 产品域部件号
Fru/Product/Manufacturer s 产品域制造商
Fru/Product/Version s 产品域版本

方法描述:查询对应节点风扇 FanId、健康状态、转速等信息;无风扇时返回空数组。字典后续可增键,不改方法签名。


SetSmartCoolingMode

在本 Blades/${BladeId} 实例上调用,设置该单板全部风扇智能调速模式。

请求参数

键 类型 说明
Mode s 智能调速模式,取值为:Custom、HighPerformance、LowNoise、EnergySaving或LiquidCooling

响应参数

键 类型 说明
Status i 节点https请求响应码

方法描述:设置对应单板全部风扇智能调速模式。


SetCtrlMode

在本 Blades/${BladeId} 实例上调用,设置该单板全部风扇控制模式。

请求参数

键 类型 说明
CtrlMode s 控制模式,Auto为自动模式,Manual为手动模式
Timeout u 超时时长,单位:秒

响应参数

键 类型 说明
Status i 节点https请求响应码

方法描述:设置对应单板全部风扇控制模式。


SetManualLevel

在本 Blades/${BladeId} 实例上调用,设置该单板风扇转速级别。

请求参数

键 类型 说明
UnitId y 冷却单元Id
Level y 设置的转速级别

响应参数

键 类型 说明
Status i 节点https请求响应码

方法描述:设置对应单板风扇转速级别。


4.2 新增WebRest接口用于汇聚管理风扇信息

变更描述: **已评基线(topic/7480)**下新增WebRest接口

北向 URI HTTP 类型 映射资源树方法 说明
/UI/Rest/Chassis/AggregationService/Thermal GET 资源 GetFanInfo 查询散热资源
/UI/Rest/Chassis/AggregationService/Thermal PATCH 资源 SetSmartCoolingMode、SetCtrlMode及SetManualLevel 设置散热参数
GET Thermal

uri:/UI/Rest/Chassis/AggregationService/Thermal
变化类型:新增接口
操作类型:GET
应用场景:查询散热资源
操作权限:ReadOnly
资源树映射:Blade.GetFanInfo

请求参数(Query)

属性名称 取值类型 说明 是否允许为null
AggregationSource string 可选;省略=全部在位 是

响应参数

属性名称 取值类型 说明
AggregationSources array 风扇信息列表

AggregationSources[] 元素

属性名称 取值类型 说明 二级属性 取值类型 说明 三级属性 取值类型 说明
AggregationSource s 源 Id
FanSmartCoolingMode s 调速模式
FanCtrlMode s 控制模式
ManualLevel y 全局预期转速比
PartNumber s 部件编码
Speed q 转速
SpeedRatio u 速率比
Model s 风扇型号
Name s 风扇名称
SoftwareVersion s 风扇固件版本
Health s 健康状态:
OK /
Minor /
Major /
Critical /
Unknown
(默认 Unknown)
PcbVersion s 风扇硬件版本
Presence y 在位状态,
1: 在位,
0:不在位
Position s 风扇所在位置
FanId s 风扇标识
Fru / 电子标签信息
Board / 单板域
ProductName s 单板域产品名
SerialNumber s 单板域序列号
PartNumber s 单板域部件号
FruFileId s 单板域文件ID
Manufacturer s 单板域制造商
ManufacturingDate s 单板域制造日期
Product / 产品域
ProductName s 产品域产品名
SerialNumber s 产品域序列号
PartNumber s 产品域部件号
Manufacturer s 产品域制造商
Version s 产品域版本

样例

GET /UI/Rest/Chassis/AggregationService/Thermal
响应:
{
  "AggregationSources": [
    {
      "AggregationSource": "Blade1",
      "FanSmartCoolingMode": "HighPerformance",
      "FanCtrlMode": "Manual",
      "ManualLevel": 30,
      "Fan": [
      	{
                "PartNumber": "11111111",
                "Speed": 7680,
                "SpeedRatio": 42,
                "Model": "11111111",
                "Name": "Fan1 Front",
                "SoftwareVersion": "1.0",
                "Health": "OK",
                "PcbVersion": ".B",
                "Presence": 1,
                "Position": "Blade1 Slot1",
                "FanId": 1,
                "Fru": {
                    "Board": {
                        "ProductName": "",
                        "SerialNumber": "",
                        "PartNumber": "",
                        "FruFileId": "",
                        "Manufacturer": "ABCDE",
                        "ManufacturingDate": "1996/01/01 Mon 00:00:00"
                    },
                    "Product": {
                        "ProductName": "",
                        "SerialNumber": "",
                        "PartNumber": "",
                        "Manufacturer": "ABCDE",
                        "Version": ""
                    }
                }
            },
            {
                "PartNumber": "11111111",
                "Speed": 6795,
                "SpeedRatio": 42,
                "DutyCycle": 47,
                "Model": "11111111",
                "Name": "Fan1 Rear",
                "SoftwareVersion": "1.0",
                "Health": "OK",
                "PcbVersion": ".B",
                "Presence": 1,
                "Position": "Blade1 Slot1",
                "FanId": 1,
                "ExpectedSpeedRatio": 47,
                "Fru": {
                    "Board": {
                        "ProductName": "",
                        "SerialNumber": "",
                        "PartNumber": "",
                        "FruFileId": "",
                        "Manufacturer": "ABCDE",
                        "ManufacturingDate": "1996/01/01 Mon 00:00:00"
                    },
                    "Product": {
                        "ProductName": "",
                        "SerialNumber": "",
                        "PartNumber": "",
                        "Manufacturer": "ABCDE",
                        "Version": ""
                    }
                }
            }
      ]
    }
  ]
}

PATCH Thermal

uri:/UI/Rest/Chassis/AggregationService/Thermal
变化类型:新增接口
操作类型:PATCH
应用场景:修改散热配置
操作权限:BasicSetting
资源树映射:SetSmartCoolingMode、SetCtrlMode、SetManualLevel

请求参数

属性名称 取值类型 说明 是否可选参数
AggregationSources s 可选;省略=全部在位 是
Mode s 智能调速模式,取值为:Custom、HighPerformance、LowNoise、EnergySaving或LiquidCooling 是
CtrlMode s 控制模式,Auto为自动模式,Manual为手动模式 是
Level y 设置的转速级别 CtrlMode为手动模式时必选

响应参数

属性名称 取值类型 说明
Results a AggregationSource、status、ResultDetail(资源树 a(sis))

样例

PATCH /UI/Rest/Chassis/AggregationService/AssetInventory
{
  "AggregationSources": ["Blade1"],
  "CtrlMode": "Manual",
  "Level": 50
}
响应:
{
  "Results": [
    { "AggregationSource": "Blade1", "status": 200 }
  ]
}

4.3 新增WebRest接口出参-UI/Rest/System/PowerSupply GET用于Web显示PSU硬件版本信息

GET PowerSupply

uri:UI/Rest/System/PowerSupply
变化类型:新增出参
操作类型:GET
应用场景:查询PSU信息
操作权限:ReadOnly

无入参

新增响应参数

属性名称 取值类型 说明
HardwareVersion s PSU硬件版本

4.4 已评Path下新增属性-/bmc/kepler/AggregationService/Aggregates/:AggregateId/ChassisService用于汇聚机框电子保单信息

已评基线(见 topic/6935)

变更描述: 已有资源树接口下新增属性

path(已有):/bmc/kepler/AggregationService/Aggregates/:AggregateId/ChassisService

interface(已有):bmc.kepler.AggregationService.Chassis

新增属性
属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
StartPoint s False False 服务起始时间, 用户可配置, 默认生产日期生成的服务起始时间为1996-04-10 Read: ReadOnly Write: BasicSetting 带外获取 不持久化 无影响
Lifespan y False False 服务年限,用户可配置 Read: ReadOnly Write: BasicSetting 带外获取 不持久化 无影响
FirstPowerOnTime s True False 机框首次上电时间, 根据生产日期生成, 格式为: YYYY-MM-DD Read: ReadOnly Write: BasicSetting 带外获取 不持久化 无影响

是否准备好AI预审

(必选)是/否

评审结论

(必选)针对决策点,详细描述最终结论,不能是简单的同意或不同意,通过或不通过。(提交议题时删除此引导说明)

正面示例:
同意redfish接口/redfish/v1/XXXXX的GET操作响应体增加如下属性
(详细描述属性名称、属性取值类型、取值范围、约束等)
或
不同意新增资源协作接口XXXXX
或
不同意资源协作接口XXX新增XX属性/方法

反面示例:
通过,同意新增接口

遗留问题

(可选)列出评审会议现场无法直接给出明确结论的事务,会后确认清楚之后要在此处录入明确的结论,如不涉及,则可以写无或删除此部分。参考格式如下:(提交议题时删除此引导说明)
1、需要确认XXX
结论: