背景
现网场景:服务器更换硬盘时,运维想知道哪个盘是系统盘,通过BMC侧查看。
支持显示硬盘是否为系统盘,用于在web页面显示。
对应web接口:/UI/Rest/System/Storage/Drives/:DriveId
关联ISSUE
整体方案
在资源协作接口bmc.kepler.Systems.Storage.Drive中新增SystemDisk属性用于表示硬盘是否系统盘,来源为BMA。(在BMA断开/OS下电场景该属性不恢复默认值,保留上一次更新的值)
历史BMC版本实现该属性命名为IsBootDevice,但实际启动设备与系统盘非同一概念。
评审点
1.在资源协作接口bmc.kepler.Systems.Storage.Drive中新增SystemDisk属性
2.web rest接口 uri:/UI/Rest/System/Storage/Drives/:ID 方法:Get的响应体新增属性SystemDisk属性
详细描述
评审点1:新增资源协作接口属性SystemDisk
资源协作接口:bmc.kepler.Systems.Storage.Drive
资源path:/bmc/kepler/Systems/:SystemID/Storage/Drives/:ID
变化类型:已有接口新增属性SystemDisk
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| SystemDisk | y | true | false | 表示硬盘是否系统盘,0:不是系统盘,1:是系统盘,默认值:0xff,表示未知,页面不显示 | R:ReadOnly | 组件内部赋值 | 无需持久化 | false |
评审点2:新增web rest接口表示硬盘是否系统盘
webrest uri:/UI/Rest/System/Storage/Drives/:ID
变化类型:已有接口新增属性SystemDisk
操作类型:Get
应用场景:获取硬盘是否系统盘
| 属性 | 类型 | 示例 | 描述 |
|---|---|---|---|
| SystemDisk | Integer | 0:非系统盘,1:是系统盘,255:默认值,未获取该信息 | 是否系统盘 |
评审结论
1、同意资源协作接口bmc.kepler.Systems.Storage.Drive下新增属性SystemDisk表示硬盘是否系统盘,属性详细信息见详细描述的评审点1。
2、同意在webrest接口 /UI/Rest/System/Storage/Drives/:ID 的GET响应体中新增属性SystemDisk表示硬盘是否系统盘,属性详细信息见详细描述的评审点2。
遗留问题
1.建议去掉Is。
结论:已将命名从IsSystemDisk修改为SystemDisk
2.查看redfish标准资源看是否有该属性,参考友商/openbmc
结论:标准资源和友商无该属性参考