背景
为了满足客户对于redfish接口诉求,对redfish标准资源进行升级,需要实现redfish规范的Pumps资源。同时由于当前redfish标准接口下已存在同名Pumps属性数组,和redfish标准规范存在冲突。为避免接口变更对已使用的客户造成影响,需要新增一个配置导入导出项,用来决定redfish的Pumps资源的显示方式,是否按redfish标准进行显示。
关联ISSUE
评审点
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:泵数量,类型为integerMembers:泵列表,类型为array@odata.id:单个资源节点的访问路径,类型为string
决策点3: redfish接口支持标准Pump资源
结论:
同意新增如下redfish接口:
uri:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Pumps/{PumpId}
操作类型:GET
权限:ReadOnly
变化类型:新增URI
Location:电路类型,类型为objectManufacturer:制造商,类型为string,nullModel: 型号,类型为string,nullPartNumber:部件编码,类型为string,nullPhysicalContext:泵适用的区域或设备,类型为string,null,取值范围: “CPU”,“CPUSubsystem”,“Chassis”,“GPU”,“GPUSubsystem”ProductionDate:制造日期,类型为string,nullSerialNumber: 序列号,类型为string,nullPumpType:泵类型,类型为string,null,取值范围: Compressor、LiquidPumpSpeedPercent:泵的转速,类型为objectReading:泵的速率比,单位百分比,类型为number,nullSpeedRPM:泵传感器的当前读数,类型为number,nullStatus:资源及其从属或依赖资源的状态和健康状况,类型为objectState:资源的状态,类型为string,null,取值范围: “Enabled”,“StandbyOffline”, “Absent”Health:资源的健康状态,类型为string,null,取值范围: "Critical ",“OK”,“Warning”