关联 issue
背景
问题分析
- BMC 的 CLI 接口命令
ipmcget -d fru查询当前 BMC 管理的所有 FRU 信息,在北向前端是通过遍历所有FruData的资源协作接口对象来获取 FRU 信息,当前随着 BMC 管理的硬件形态复杂化,并且 FRU 不断增多的演进趋势,此方式实现的性能不满足 BMC 北向接口的查询基线,耗时经测试全部用于读取资源协作接口属性(属性存在于不同的接口,涉及多个映射器配置)
解决方案
- 鉴于上述问题分析,对于北向接口查询FRU数据,需要新增加资源协作接口方法,用于一次性查询 BMC 管理域内的所有的 FRU 数据信息,然后北向接口可以根据返回的信息以及展示的信息诉求进行选择和展示。
- 当前 BMC 没有管理 FRU 集合的资源协作接口,因此需要增加资源协作接口和方法。
评审点
评审点1:新增查询 FRU 集合资源协作接口
path(新增): /bmc/kepler/Chassis/:Id/FruDatas
interface(新增): bmc.kepler.Chassis.FruDatas
method(新增): GetFruDataList
| 项目 | 说明 |
|---|---|
| 方法名 | GetFruDataList |
| 方法描述 | 获取FruData列表 |
| 权限 | ReadOnly |
| 请求签名 | 无 |
| 请求说明 | 无 |
| 响应签名 | a(a{ss}) |
| 响应说明 | FruDataList:类型为 数组,查询的 FRU 信息集合,如果没有 FRU 则返回空。集合中元素结构如下: FruDataItems:签名为 a{ss},每个 FRU 的具体信息,其中字典的key为 FRU 信息的属性名称。具体的key详细如下:SystemId:当前 FRU 归属的Host标识,多Host场景使用 FruId:FRU 的唯一编号 FruName:FRU的名称 ChassisType:FRU的ChassisType ChassisPartNumber:FRU的Chassis部件编号 ChassisSerialNumber:FRU的Chassis序列号 ChassisCustomInfo:FRU的Chassis扩展域信息 MfgDate :FRU的制造日期 BoardManufacturer:FRU的单板制造商 BoardProductName :FRU的单板产品名称 BoardSerialNumber :FRU的单板序列号 BoardPartNumber :FRU的单板部件编号 BoardFRUFileID:FRU的单板FRU信息存放文件标识 BoardCustomInfo:FRU的单板扩展域信息 ManufacturerName :FRU的产品制造商 ProductName :FRU的产品名称 ProductPartNumber:FRU的产品部件编号 ProductVersion:FRU的产品版本 ProductSerialNumber:FRU的产品序列号 AssetTag:FRU的产品资产标签 ProductFRUFileID:FRU的产品FRU信息存放文件标识 ProductCustomInfo:FRU的产品扩展域信息 |
评审结论
通过,具体结论如下:
- 同意新增资源协作路径
/bmc/kepler/Chassis/:Id/FruDatas,资源协作接口bmc.kepler.Chassis.FruDatas。 - 同意在资源协作接口
bmc.kepler.Chassis.FruDatas下新增方法GetFruDataList,用于查询当前 BMC 管理的所有 FRU 信息。方法无请求参数,响应参数签名为a(a{ss}),权限为ReadOnly。方法具体的响应参数以及元素的详细说明见评审点1。