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/ThermalGET/UI/Rest/Chassis/AggregationService/ThermalPATCH
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
结论: