背景
为支持Redfish查询BMC内存统计数据和剩余硬盘容量数据,需要提供资源协作接口供其他组件查询BMC内存统计数据和剩余硬盘容量数据。
关联ISSUE
暂无issue
整体方案
新增资源树协作接口属性,承载BMC内存统计数据和剩余硬盘容量数据,供其他组件使用。
评审点
新增资源树协作接口属性,承载BMC内存统计数据和剩余硬盘容量数据。
详细描述
- 场景1:新增资源树协作接口对象, 内存统计数据。
path:/bmc/kepler/Managers/${ManagerId}/ManagerDiagnosticData(新增)
interface:bmc.kepler.Managers.ManagerDiagnosticData.MemoryStatistics(新增)
变化类型: 新增对象、属性
新增属性:
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| AvailableBytes | t | true | false | 可用内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
| BuffersAndCacheBytes | t | true | false | 缓存内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
| FreeBytes | t | true | false | 空闲内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
| SharedBytes | t | true | false | 共享内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
| TotalBytes | t | true | false | 系统总内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
| UsedBytes | t | true | false | 已使用内存大小(bytes) | ReadOnly | app实时更新 | 无需持久化 | true |
- 场景2:新增资源树协作接口属性, 用于承载 BMC 剩余存储空间。
path:/bmc/kepler/Managers/${ManagerId}/ManagerDiagnosticData(新增)
interface:bmc.kepler.Managers.ManagerDiagnosticData.StorageStatistics(新增)
变化类型: 新增属性
新增属性:
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| FreeStorageSpaceKiB | t | true | false | BMC当前可用存储空间,单位KiB | ReadOnly | 内部实时获取 | 无需持久化 | true |
评审结论
通过,具体结论如下:
- 同意资源协作接口
bmc.kepler.Managers.ManagerDiagnosticData.MemoryStatistics新增属性AvailableBytes、BuffersAndCacheBytes、FreeBytes、SharedBytes、TotalBytes、UsedBytes,依次分别表示 BMC 的可用内存、缓存、空闲内存、共享内存、总内存、已使用内存;属性签名均为 t,只读,不需要持久化,不需要发送变化通知。 - 同意资源协作接口
bmc.kepler.Managers.ManagerDiagnosticData.StorageStatistics新增属性FreeStorageSpaceKiB,表示 BMC 的可用存储空间;属性签名为 t,只读,不需要持久化,不需要发送变化通知。
遗留问题
- 明确0值的处理规则,北向redfish接口是否会显示为0
结论:读数为 0 就代表读数异常,北向 Redfish 接口需要根据读值回显为 null