【已评审】新增查询电子标签资源协作接口

关联 issue

【问题】ipmcget -d fru命令用时不符合基线

背景

问题分析

  • 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。