背景
Redfish接口查询单个硬盘的信息,当硬盘不在位时,仍然可以查询到硬盘的信息,不符合使用场景。
关联ISSUE
[需求]: 北向接口查询硬盘信息加固-rackmount-AtomGit | GitCode
整体方案
Redfish接口执行前增加对硬盘在位的校验
"Type": "GET",
"ResourceExist": {
"${Statements/IsValidDriveId()}": true,
"${Statements/IsValidChassisId()}": true,
"${Statements/IsDrivePresent()}": true (新增)
},
评审点1:变更URI /redfish/v1/Chassis/:chassisid/Drives/:driveid
变更描述:
该Redfish接口的功能是用于对单个硬盘的GET和PATCH操作
原有接口的GET和PATCH执行时不会对硬盘的在位进行校验,导致在对不在位的硬盘进行GET或者PATCH操作时,也会正确响应
(比如:进行GET方法时:会正常返回硬盘的属性列表,属性值为默认值或者null)
当前,查询不在位的硬盘(Disk4)
预期:
变更点:增加对硬盘在位的校验
"Type": "PATCH/GET",
"ResourceExist": {
"${Statements/IsValidDriveId()}": true,
"${Statements/IsValidChassisId()}": true,
"${Statements/IsDrivePresent()}": true (新增)
},
接口链接:bmc.kepler.Systems.Storage.Drive
变更接口影响
| 路径 | 变更接口影响 | CSR配置影响 | 持久化影响 | 其他影响 |
|---|---|---|---|---|
| /redfish/v1/Chassis/:chassisid/Drives/:driveid | 查询不在位的硬盘,返回资源不存在 | 不涉及 | 不涉及 | 不涉及 |
评审结论
同意对Redfish接口访问时:/redfish/v1/Chassis/:chassisid/Drives/:driveid
增加对硬盘是否在位的校验



