背景
为了满足客户对于redfish接口诉求,对redfish标准资源进行升级,需要实现redfish新规范资源
关联ISSUE
支持升级redfish标准LeakDetection资源
支持升级redfish标准LeakDetectors资源
支持新增redfish标准Circuit资源
评审点
1、redfish接口标准资源LeakDetection新增Status属性
2、redfish接口支持标准LeakDetector集合资源
3、redfish接口支持标准LeakDetector资源
4、redfish接口支持标准Circuit集合资源
5、redfish接口支持标准Circuit资源
详细描述
评审点1 :redfish接口标准资源LeakDetection新增Status属性
URI:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/LeakDetection
变化类型:新增属性
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询LeakDetection资源
| 一级属性 | 二级属性 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 |
|---|---|---|---|---|---|---|---|
| Status | object | 资源及其从属或依赖资源的状态和健康状况 | NA | NA | ReadOnly | 否 | |
| State | string,null | 资源的状态 | “Enabled”,“Disabled” | null | ReadOnly | 否 | |
| Health | string,null | 资源的健康状态 | "Critical ",“OK”,“Warning” | null | ReadOnly | 否 | |
| HealthRollup | string,null | 健康状态卷积 | "Critical ",“OK”,“Warning” | null | ReadOnly | 否 |
响应示例:
{
"@odata.context": "/redfish/v1/$metadata#LeakDetection.LeakDetection",
"@odata.id": "/redfish/v1/Chassis/1/ThermalSubsystem/LeakDetection",
"@odata.type": "#LeakDetection.v1_0_0.LeakDetection",
"Id": "LeakDetection",
"Name": "LeakDetection",
"LeakDetectors": {
"@odata.id": "/redfish/v1/Chassis/1/ThermalSubsystem/LeakDetection/LeakDetectors"
},
"Status": {
"State": "Enabled",
"Health": "OK",
"HealthRollup": "OK"
}
}
评审点2:redfish接口支持标准LeakDetector集合资源
URI:/redfish/v1/Chassis/{ChassisId}/LeakDetectors
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询LeakDetector集合资源
| 一级属性 | 二级属性 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 |
|---|---|---|---|---|---|---|---|
| @odata.context | string | 泄露检测器集合资源的OData描述信息 | URI | /redfish/v1/$metadata#LeakDetectorCollection.LeakDetectorCollection | ReadOnly | 否 | |
| @odata.id | string | 泄露检测器集合资源的访问路径 | URI | /redfish/v1/Chassis/{ChassisId}/LeakDetectors | ReadOnly | 否 | |
| @odata.type | string | 泄露检测器集合资源的类型 | string | #LeakDetectorCollection.LeakDetectorCollection | ReadOnly | 否 | |
| Name | string | 泄露检测器集合资源名称 | string | LeakDetector Collection | ReadOnly | 否 | |
| Members@odata.count | integer | 数量 | integer | 0 | ReadOnly | 否 | |
| Members | array | 列表 | array | 空数组 | ReadOnly | 否 | |
| @odata.id | string | 单个资源节点的访问路径 | URI | NA | ReadOnly | 否 |
响应示例:
{
"@odata.context": "/redfish/v1/$metadata#LeakDetectorCollection.LeakDetectorCollection",
"@odata.id": "/redfish/v1/Chassis/1/LeakDetectors",
"@odata.type": "#LeakDetectorCollection.LeakDetectorCollection",
"Name": "LeakDetector Collection",
"Members@odata.count": 1,
"Members": [
{
"@odata.id": "/redfish/v1/Chassis/1/LeakDetectors/Moisture"
}
]
}
评审点3:redfish接口支持标准LeakDetector资源
URI:/redfish/v1/Chassis/{ChassisId}/LeakDetectors/{LeakDetectorId}
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询LeakDetectors资源
| 一级属性 | 二级属性 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 |
|---|---|---|---|---|---|---|---|
| DetectorState | string,null | 泄露检测器状态 | “OK”,“Warning”,“Critical” | null | ReadOnly | 否 | |
| LeakDetectorType | string,null | 泄露检测器类型 | “FloatSwitch”,“Moisture” | null | ReadOnly | 否 | |
| Location | object | 泄露检测器位置信息 | 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 | 否 | |
| SerialNumber | string,null | 序列号 | string | null | ReadOnly | 否 | |
| Status | object | 资源及其从属或依赖资源的状态和健康状况 | NA | NA | ReadOnly | 否 | |
| State | string,null | 资源的状态 | “Enabled”,“Disabled”, “Absent” | null | ReadOnly | 否 | |
| Health | string,null | 资源的健康状态 | "Critical ",“OK”,“Warning” | null | ReadOnly | 否 |
响应示例:
{
"@odata.context": "/redfish/v1/$metadata#LeakDetector.LeakDetector",
"@odata.id": "/redfish/v1/Chassis/{ChassisId}/LeakDetectors/Moisture"
"@odata.type": "#LeakDetector.v1_2_0.LeakDetector",
"Id": "Moisture",
"Name": "Moisture-type Leak Detector",
"LeakDetectorType": "Moisture",
"Status": {
"State": "Enabled",
"Health": "OK"
},
"DetectorState": "OK",
"PartNumber": "3493-A44",
"SerialNumber": "916239",
"Manufacturer": "Contoso Water Detection Systems",
"Model": "Depends 3000",
"Location": {
"PartLocation": {
"Reference": "Bottom",
"ServiceLabel": "Leak Detector"
}
},
"PhysicalContext": "Chassis"
}
评审点4:redfish接口支持标准Circuit集合资源
URI:/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Mains
/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Branchs
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询Circuit集合资源
| 一级属性 | 二级属性 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 |
|---|---|---|---|---|---|---|---|
| @odata.context | string | 电路集合资源的OData描述信息 | URI | /redfish/v1/$metadata#CircuitCollection.CircuitCollection | ReadOnly | 否 | |
| @odata.id | string | 电路集合资源的访问路径 | URI | /redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Mains /redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Branchs |
ReadOnly | 否 | |
| @odata.type | string | 电路集合资源的类型 | string | #CircuitCollection.CircuitCollection | ReadOnly | 否 | |
| Name | string | 电路集合资源名称 | string | Main Circuit Collection Branch Circuit Collection |
ReadOnly | 否 | |
| Members@odata.count | integer | 数量 | integer | 0 | ReadOnly | 否 | |
| Members | array | 列表 | array | 空数组 | ReadOnly | 否 | |
| @odata.id | string | 单个资源节点的访问路径 | URI | NA | ReadOnly | 否 |
响应示例:
{
"@odata.context": "/redfish/v1/$metadata#CircuitCollection.CircuitCollection",
"@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branchs",
"@odata.type": "#CircuitCollection.CircuitCollection",
"Name": "Branch Circuit Collection",
"Members@odata.count": 1,
"Members": [
{
"@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branchs/A"
}
]
}
评审点5:redfish接口支持标准Circuit资源
URI:/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Branches/{CircuitId}
/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Mains/{CircuitId}
变化类型:新增URI
操作类型:GET
权限:ReadOnly
应用场景:redfish接口查询Circuit资源
| 一级属性 | 二级属性 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 |
|---|---|---|---|---|---|---|---|
| CircuitType | string,null | 电路类型 | “Branch”,“Mains” | null | ReadOnly | 否 | |
| PhaseWiringType | string,null | 未接地的载流导体(相线)数量以及导体的总数(线数) | “ThreePhase5Wire” | null | ReadOnly | 否 | |
| NominalVoltage | string,null | 电路的额定电压 | “DC240” | null | ReadOnly | 否 | |
| Status | object | 资源及其从属或依赖资源的状态和健康状况 | NA | NA | ReadOnly | 否 | |
| State | string,null | 资源的状态 | “Enabled”,“Disabled” | null | ReadOnly | 否 | |
| Health | string,null | 资源的健康状态 | "Critical ",“OK”,“Warning” | null | ReadOnly | 否 |
响应示例:
{
"@odata.context": "/redfish/v1/$metadata#Circuit.Circuit",
"@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branchs/A"
"@odata.type": "#Circuit.v1_8_1.Circuit",
"Id": "A",
"Name": "Branch Circuit A",
"Status": {
"State": "Enabled",
"Health": "OK"
},
"CircuitType": "Branch",
"PhaseWiringType": "ThreePhase5Wire",
"NominalVoltage": "DC240"
}
评审结论
决策点1:redfish接口标准资源LeakDetection新增Status属性
结论:
uri:/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/LeakDetection
操作类型:GET
权限:ReadOnly
变化类型:新增属性
- Status:资源及其从属或依赖资源的状态和健康状况,类型为object
- State:资源的状态,类型为string,null,取值范围:“Enabled”,“Disabled”
- Health:资源的健康状态,类型为string,null,取值范围:"Critical ",“OK”,“Warning”
- HealthRollup:健康状态卷积,类型为string,null,取值范围:"Critical ",“OK”,“Warning”
决策点2:redfish接口支持标准LeakDetector集合资源
结论:
uri:/redfish/v1/Chassis/{ChassisId}/LeakDetectors
操作类型:GET
权限:ReadOnly
变化类型:新增URI
- Members@odata.count:漏液检测器数量,类型为integer
- Members:漏液检测器列表,类型为array
- @odata.id:单个资源节点的访问路径,类型为string
决策点3:redfish接口支持标准LeakDetector资源
结论:
uri:/redfish/v1/Chassis/{ChassisId}/LeakDetectors/{LeakDetectorId}
操作类型:GET
权限:ReadOnly
变化类型:新增URI
- DetectorState:泄露检测器状态,类型为string,null,取值范围:“OK”,“Warning”,“Critical”
- LeakDetectorType:泄露检测器类型,类型为string,null,取值范围:“FloatSwitch”,“Moisture”
- Location:泄露检测器位置信息,类型为object
- Manufacturer:制造商,类型为string,null
- Model:型号,类型为string,null
- PartNumber:部件编码,类型为string,null
- PhysicalContext:泄漏检测器适用的区域或设备,类型为string,null,取值范围:“CPU”、“CPUSubsystem”、“Chassis”、“GPU”、“GPUSubsystem”
- SerialNumber:序列号,类型为string,null
- Status:资源及其从属或依赖资源的状态和健康状况,类型为object
- State:资源的状态,类型为string,null,取值范围:“Enabled”,“Disabled”, “Absent”
- Health:资源的健康状态,类型为string,null,取值范围:"Critical ",“OK”,“Warning”
决策点4:redfish接口支持标准Circuit集合资源
结论:
uri:/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Mains
/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Branchs
操作类型:GET
权限:ReadOnly
变化类型:新增URI
- Members@odata.count:电路数量,类型为integer
- Members:电路列表,类型为array
- @odata.id:单个资源节点的访问路径,类型为string
决策点5:redfish接口支持标准Circuit资源
结论:
uri:/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Branches/{CircuitId}
/redfish/v1/PowerEquipment/PowerShelves/{PowerDistributionId}/Mains/{CircuitId}
操作类型:GET
权限:ReadOnly
变化类型:新增URI
- CircuitType:电路类型,类型为string,null,取值范围:“Branch”,“Mains”
- PhaseWiringType:相线类型,类型为string,null,取值范围:“ThreePhase5Wire”
- NominalVoltage:电路的额定电压,类型为string,null,取值范围:“DC240”
- Status:资源及其从属或依赖资源的状态和健康状况,类型为object
- State:资源的状态,类型为string,null,取值范围:“Enabled”,“Disabled”
- Health:资源的健康状态,类型为string,null,取值范围: "Critical ",“OK”,“Warning”