【已评审】新增redfish存储控制器标准接口

背景介绍

当前redfish标准接口存在缺失,需要评审新增redfish标准接口以及资源协作接口属性。

关联ISSUE

支持Redfish资源新增StorageController资源集合
StorageController相关资源支持redfish新标准
StorageControllerMetrics相关资源支持redfish新标准

评审点

评审点1:
新增URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers
评审点2:
新增URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}
评审点3:
新增URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics
评审点4:
新增资源协作接口属性UncorrectableParityErrorCount

详细描述

评审点1:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers
变化类型:新增URI
操作类型:GET
应用场景:redfish接口获取存储控制器资源集合信息

RspBody响应体结构:

一级属性 二级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageControllerCollection.StorageControllerCollection string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers string
@odata.type #StorageControllerCollection.StorageControllerCollection string
Name Storage Controller Collection string
Members@odata.count 存储控制器数量 integer
Members 存储控制器资源集合 array
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId} string

schema说明:
新增schema文件StorageControllerCollection.json

"Members": {
    "description": "The members of this collection.",
    "items": {
        "$ref": "http://redfish.dmtf.org/schemas/v1/StorageController.json#/definitions/StorageController"
    },
    "longDescription": "This property shall contain an array of links to the members of this collection.",
    "readonly": true,
    "type": "array"
}

RspBody响应体示例:

{
    "@odata.context": "/redfish/v1/$metadata#StorageControllerCollection.StorageControllerCollection",
    "@odata.id": "/redfish/v1/Systems/1/Storage/1/Controllers",
    "@odata.type": "#StorageControllerCollection.StorageControllerCollection",
    "Name": "Storage Controller Collection",
    "Members@odata.count": 1,
    "Members": [
        {
            "@odata.id": "/redfish/v1/Systems/1/Storage/1/Controllers/RAIDStorage0"
        }
    ]
}

评审点2:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}
变化类型:新增URI
操作类型:GET
应用场景:Redfish 接口获取存储控制器相关资源信息
属性全量实现当前URI:/redfish/v1/Systems/{ComputerSystemId}/Storages/{StorageId}下StorageControllers资源的信息
RspBody响应体结构:

一级属性 二级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageController.StorageController string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId} string
@odata.type #StorageController.v1_7_0.StorageController string
Name RAIDStorage0 string
Id RAIDStorage0 string
Metrics 存储控制器指标 object
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics string

schema说明:
新增schema文件StorageController.json,StorageController.v1_7_0.json

"Metrics": {
    "anyOf": [
        {
            "$ref": "http://redfish.dmtf.org/schemas/v1/StorageControllerMetrics.json#/definitions/StorageControllerMetrics"
        },
        {
            "type": "null"
        }
    ],
    "description": "The link to the metrics associated with this storage controller.",
    "longDescription": "This property shall contain a link to the metrics associated with this storage controller.",
    "readonly": true,
    "versionAdded": "v1_7_0"
}

RspBody响应体示例:

{
    "@odata.context": "/redfish/v1/$metadata#StorageController.StorageController",
    "@odata.id": "/redfish/v1/Systems/1/Storage/1/Controllers/RAIDStorage0",
    "@odata.type": "#StorageController.v1_7_0.StorageController",
    "Id": "RAIDStorage0",
    "Name": "RAIDStorage0",
	"Metrics": {
        "@odata.id": "/redfish/v1/Systems/1/Storage/1/Controllers/RAIDStorage0/Metrics"
    }
}

评审点3:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics
变化类型:新增URI
操作类型:GET
应用场景:redfish接口获取存储控制器指标相关资源
RspBody响应体结构:

一级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageControllerMetrics.StorageControllerMetrics string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics string
@odata.type #StorageControllerMetrics.v1_0_3.StorageControllerMetrics string
Id Metrics string
Name Storage Controller Metrics string
UncorrectableParityErrorCount 存储控制器内存生命周期内不可纠正奇偶校验错误的数量 integer
UncorrectableECCErrorCount 存储控制器内存生命周期内不可纠正错误的数量 integer

schema说明:
新增schema文件StorageControllerMetrics.json,StorageControllerMetrics.v1_0_3.json

"UncorrectableParityErrorCount": {
    "description": "The number of uncorrectable parity errors for the lifetime of the memory of the storage controller.",
    "longDescription": "This property shall contain the number of uncorrectable errors for the lifetime of memory of the storage controller.",
    "readonly": true,
    "type": [
        "integer",
        "null"
    ]
},
"UncorrectableECCErrorCount": {
    "description": "The number of uncorrectable errors for the lifetime of the memory of the storage controller.",
    "longDescription": "This property shall contain the number of uncorrectable errors for the lifetime of memory of the storage controller.",
    "readonly": true,
    "type": [
        "integer",
        "null"
    ]
}

RspBody响应体示例:

{
    "@odata.context": "/redfish/v1/$metadata#StorageControllerMetrics.StorageControllerMetrics",
    "@odata.id": "/redfish/v1/Systems/1/Storage/1/Controllers/RAIDStorage0/Metrics",
    "@odata.type": "#StorageControllerMetrics.v1_0_3.StorageControllerMetrics",
    "Id": "Metrics",
    "Name": "Storage Controller Metrics",
    "UncorrectableECCErrorCount":1,
    "UncorrectableParityErrorCount": 1
}

评审点4:
资源path:“/bmc/kepler/Systems/:SystemId/Storage/Controllers/:Id”(已有)
资源interface:“bmc.kepler.Systems.Storage.Controller”(已有)
新增属性:UncorrectableParityErrorCount

属性名称 变化类型 签名 读写&权限 持久化 变化通知 属性说明 接口约束
UncorrectableParityErrorCount 新增属性 u R ReadOnly W:无 true 存储控制器内存生命周期内不可纠正奇偶校验错误的数量 需要Raid卡支持此属性获取

评审结论

评审点1:
同意新增redfish接口获取存储控制器资源集合信息,具体属性如下:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers

一级属性 二级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageControllerCollection.StorageControllerCollection string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers string
@odata.type #StorageControllerCollection.StorageControllerCollection string
Name Storage Controller Collection string
Members@odata.count 存储控制器数量 integer
Members 存储控制器资源集合 array
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId} string

评审点2:
同意新增Redfish 接口获取存储控制器相关资源信息,具体属性如下:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}
属性全量实现当前URI:/redfish/v1/Systems/{ComputerSystemId}/Storages/{StorageId}下StorageControllers资源的信息

一级属性 二级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageController.StorageController string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId} string
@odata.type #StorageController.v1_7_0.StorageController string
Name RAIDStorage0 string
Id RAIDStorage0 string
Metrics 存储控制器指标 object
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics string

评审点3:
同意新增redfish接口获取存储控制器指标相关资源,具体属性如下:
URI:/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics

一级属性 属性说明 类型
@odata.context /redfish/v1/$metadata#StorageControllerMetrics.StorageControllerMetrics string
@odata.id /redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Metrics string
@odata.type #StorageControllerMetrics.v1_0_3.StorageControllerMetrics string
Id Metrics string
Name Storage Controller Metrics string
UncorrectableParityErrorCount 存储控制器内存生命周期内不可纠正奇偶校验错误的数量 integer
UncorrectableECCErrorCount 存储控制器内存寿命期间的不可纠正错误的数量 integer

评审点4:
同意在/bmc/kepler/Systems/:SystemId/Storage/Controllers/:Id路径下的bmc.kepler.Systems.Storage.Controller接口新增属性,具体如下:

  • UncorrectableParityErrorCount:表示存储控制器内存生命周期内不可纠正奇偶校验错误的数量,签名为u,只读,读权限:ReadOnly,发送变化通知事件

遗留问题

无遗留问题