【已评审】变更Redfish接口对硬盘在位的校验

背景

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
增加对硬盘是否在位的校验