【已评审】资源协作接口支持标准Pumps资源

背景

redfish接口需要支持标准的Pumps资源,需要新增对应的资源协作接口。同时由于当前redfish标准接口下已存在同名Pumps属性数组,和redfish标准规范存在冲突,该接口已存在现网发货场景。为避免接口变更对已使用的客户造成影响,需要新增一个配置导入导出项,用来决定redfish的Pumps资源的显示方式,是否按redfish标准进行显示。

关联ISSUE

支持新增redfish标准Pumps资源

评审点

  1. 新增资源协作接口,表征 Pumps 资源使能
  2. 新增资源协作接口属性,描述 Pump 的静态信息

详细描述

评审点1: 新增资源协作接口

path:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem
interface(新增):bmc.kepler.Chassis.ThermalSubsystem.Pumps

属性/方法名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
StandardPumpsResourceEnabled 新增属性 b R:ReadOnly 掉电持久化 false 标准泵资源使能开关,取值如下:
true:按标准资源显示
false:不按标准资源显示
默认为 true

评审点2: 资源协作接口新增Pump资源属性

path:/bmc/kepler/Systems/:SystemId/Thermal/Pumps/:Id
interface:bmc.kepler.Systems.Pump

属性/方法名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 接口约束
Manufacturer 新增属性 s R:ReadOnly 不持久化 false 泵的制造商,默认值为""
PhysicalContext 新增属性 s R:ReadOnly 不持久化 false 泵适用的区域或设备,取值范围:[“CPU”,“CPUSubsystem”,“Chassis”,“GPU”,“GPUSubsystem”,“”],默认值为""
ProductionDate 新增属性 s R:ReadOnly 不持久化 false 泵的生产日期,默认值为""
SerialNumber 新增属性 s R:ReadOnly 不持久化 false 泵的序列号,默认值为""
ServiceLabel 新增属性 s R:ReadOnly 不持久化 false 泵的位置标签,如丝印名称或印刷标签,默认值为""
LocationReference 新增属性 s R:ReadOnly 不持久化 false 泵的位置参考,取值范围:[“Bottom”,“Front”,“Left”,“Middle”,“Rear”,“Right”,“Top”,“”],默认值为""
PumpType 新增属性 s R:ReadOnly 不持久化 false 泵的类型,取值范围:[“Compressor”,“Liquid”,“”],默认值为""

评审结论

通过,具体结论如下:

  1. 同意新增资源协作接口 bmc.kepler.Chassis.ThermalSubsystem.Pumps,接口下新增属性 StandardPumpsResourceEnabled ,表示标准泵资源使能开关
  2. 同意在资源协作接口 bmc.kepler.Systems.Pump下新增属性ManufacturerPhysicalContextProductionDateSerialNumberServiceLabelLocationReferencePumpType,依次表示泵的制造商、适用的区域或设备、生产日期、序列号、位置标签、位置参考、泵类型(参考评审点描述)

遗留问题

【疑问】当前属性是只读的,为啥要掉电持久化?

【疑问】液冷泵是 Chassis 级别的资源,path 和 interface 应该以 Chassis 维度进行接口设计

该属性不会提供其他北向接口进行直接修改,但可以通过配置导入接口进行修改,需要进行持久化保存设置的结果

本次属性新增采用的是已有的泵接口,之前path 和 interface 实现成了system,后面会进行统一整改