【已评审】新增redfish标准pumps资源及配置导入导出项

背景

为了满足客户对于redfish接口诉求,对redfish标准资源进行升级,需要实现redfish规范的Pumps资源。同时由于当前redfish标准接口下已存在同名Pumps属性数组,和redfish标准规范存在冲突。为避免接口变更对已使用的客户造成影响,需要新增一个配置导入导出项,用来决定redfish的Pumps资源的显示方式,是否按redfish标准进行显示。

关联ISSUE

支持新增redfish标准Pumps资源

评审点

1、新增redfish标准Pumps资源配置导入导出项
2、redfish接口支持标准Pumps资源
3、redfish接口支持标准Pump资源

详细描述

评审点1 :新增redfish标准Pumps资源配置导入导出项

配置项名称: StandardPumpsResourceEnabled:redfish标准泵资源开关
应用场景:配置显示redfish标准Pumps资源

配置项名称 配置项类别 配置项 归属组件 取值说明 默认值 导入导出类型 导出后是否可直接导入
redfish标准泵资源开关 Pumps StandardPumpsResourceEnabled thermal_mgmt boolean类型,用于配置/redfish/v1/Chassis/:chassisid/ThermalSubsystem接口下Pumps属性显示方式,true:按标准redfish规范显示Pumps属性
false:按Pump对象数组方式显示Pumps属性
true ImportAndExport

评审点2 :redfish接口支持标准Pumps资源

URI:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Pumps
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询Pumps资源信息

一级属性 二级属性 取值类型 说明 取值范围 默认值 操作权限 是否频繁变化并需要屏蔽变化事件
@odata.context string 泵集合资源的OData描述信息 string(URI) /redfish/v1/$metadata#PumpCollection.PumpCollection ReadOnly
@odata.id string 泵集合资源的访问路径 string(URI) /redfish/v1/Chassis/1/ThermalSubsystem/Pumps ReadOnly
@odata.type string 泵集合资源的类型 string #PumpCollection.PumpCollection ReadOnly
Name string 泵集合资源名称 string Pump Collection ReadOnly
Members@odata.count integer 数量 integer 0 ReadOnly
Members array 列表 array 空数组 ReadOnly
@odata.id string 单个资源节点的访问路径 string(URI) NA ReadOnly

响应示例

{
  "@odata.context": "/redfish/v1/$metadata#PumpCollection.PumpCollection",
  "@odata.id": "/redfish/v1/Chassis/1/ThermalSubsystem/Pumps",
  "@odata.type": "#PumpCollection.PumpCollection",
  "Name": "Pump Collection",
  "Members@odata.count": 1,
  "Members": [
      {
          "@odata.id": "/redfish/v1/Chassis/1/ThermalSubsystem/Pumps/1"
      }
  ]
}

评审点3:redfish接口支持标准Pump资源

URI:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Pumps/{PumpId}
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询Pump资源信息

一级属性 二级属性 取值类型 说明 取值范围 默认值 操作权限 是否频繁变化并需要屏蔽变化事件
Location object 泵位置信息 NA NA ReadOnly
Manufacturer string,null 制造商 string null ReadOnly
Model string,null 型号 string null ReadOnly
PartNumber string,null 部件编码 string null ReadOnly
PhysicalContext string,null 泵适用的区域或设备 “CPU”,“CPUSubsystem”,“Chassis”,“GPU”,“GPUSubsystem” null ReadOnly
ProductionDate string,null 制造日期 string null ReadOnly
SerialNumber string,null 序列号 string null ReadOnly
PumpType string,null 泵类型 Compressor、Liquid null ReadOnly
PumpSpeedPercent object 泵的转速 NA NA ReadOnly
Reading number,null 泵的速率比,单位百分比 number null ReadOnly
SpeedRPM number,null 泵传感器的当前读数 number null ReadOnly
Status object 泵的健康状况 NA NA ReadOnly
State string,null 泵的状态 “Enabled”,“StandbyOffline”, “Absent” null ReadOnly
Health string,null 泵的健康状态 "Critical ",“OK”,“Warning” null ReadOnly

响应示例

{
  "@odata.context": "/redfish/v1/$metadata#Pump.Pump",
  "@odata.id": "/redfish/v1/Chassis/1/ThermalSubsystem/Pumps/1"
  "@odata.type": "#Pump.v1_2_0.Pump",
  "Id": "1",
  "Name": "Pump 1",
  "PartNumbet": "32060009"
  "Status": {
    "State": "Enabled",
    "Health": "OK"
  },
  "PumpSpeedPercent": {
    "Reading": 62,
    "SpeedRpm": 1800
  }
}

评审结论

决策点1: 新增redfish标准Pumps资源配置导入导出项

结论:

同意新增配置导入导出项StandardPumpsResourceEnabled,用于配置显示redfish标准Pumps资源,类型为boolean,默认值为true

决策点2:redfish接口支持标准Pumps资源

结论:

同意新增如下redfish接口:
uri:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Pumps
操作类型:GET
权限:ReadOnly
变化类型:新增URI

  • Members@odata.count:泵数量,类型为integer
  • Members:泵列表,类型为array
  • @odata.id:单个资源节点的访问路径,类型为string

决策点3: redfish接口支持标准Pump资源

结论:

同意新增如下redfish接口:
uri:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Pumps/{PumpId}
操作类型:GET
权限:ReadOnly
变化类型:新增URI

  • Location:电路类型,类型为object
  • Manufacturer:制造商,类型为string,null
  • Model: 型号,类型为string,null
  • PartNumber:部件编码,类型为string,null
  • PhysicalContext:泵适用的区域或设备,类型为string,null,取值范围: “CPU”,“CPUSubsystem”,“Chassis”,“GPU”,“GPUSubsystem”
  • ProductionDate:制造日期,类型为string,null
  • SerialNumber: 序列号,类型为string,null
  • PumpType:泵类型,类型为string,null,取值范围: Compressor、Liquid
  • PumpSpeedPercent:泵的转速,类型为object
  • Reading:泵的速率比,单位百分比,类型为number,null
  • SpeedRPM:泵传感器的当前读数,类型为number,null
  • Status:资源及其从属或依赖资源的状态和健康状况,类型为object
  • State:资源的状态,类型为string,null,取值范围: “Enabled”,“StandbyOffline”, “Absent”
  • Health:资源的健康状态,类型为string,null,取值范围: "Critical ",“OK”,“Warning”