背景
当前部分平台BIOS通过SMBIOS相关文件向BMC发送cpu内存等系统信息,部分算力平台和BIOS
采取不同方案,通过共享内存传递inventory.json文件,承载系统信息。当前需求需要新增支
持解析inventory.json文件的能力,以此获取BIOS上报的系统信息,并通过HardwareInventory
接口承载系统信息解析的状态、版本等信息。
相关评审链接
关联ISSUE
https://gitcode.com/openUBMC/compute_mgmt/issues/3
整体方案
BIOS通过共享内存向BMC上报系统信息(inventory.json文件),BMC把收到的系统信息解析并更新到资源树对象。新增资源协作接口承载系统信息解析的状态和版本等信息。
评审点
- 新增资源协作接口及接口下属性,支持监控Inventory系统信息。
详细描述
评审点1:新增资源协作接口及接口下属性,支持监控Inventory系统信息。
资源path: “/bmc/kepler/Systems/:SystemId/HardwareInventory”
资源Interface:"bmc.kepler.Systems.HardwareInventory"
变化类型:新增接口
属性:
| 属性名称 | 签名 | 读写 | 变化通知 | 描述 | 取值示例 | 访问权限 | 持久化类型 |
|---|---|---|---|---|---|---|---|
| Version | String | 只读 | false | Inventory文件版本 | 1.0.0 | ReadOnly | 不持久化 |
| SystemId | U8 | 只读 | false | System Id | 1 | ||
| InventoryFileStatus | U8 | 只读 | true | Inventory.json文件上报状态 | 0:默认值,文件未上报 1:写入中 2:准备就绪 |
ReadOnly | 不持久化 |
| InventoryFilePath | String | 只读 | true | Inventory.json文件路径 | /data/opt/inventory.json | ReadOnly | 不持久化 |
JSON文件示例:
"Systems": [
{
"Processors": [
{
"CpuMaxPcieSpecGen": 5,
"CurUPIFrequency": " 24 GT/s",
"CurrentFrequency": 2300,
"CurrentThreads": 64,
"ExtModelId": 0,
"Id": "DevType1_CPU0",
"InstructionSet": "x86-64",
"Manufacturer": "Intel(R) Corporation",
"MaxSpeedMHz": 4100,
"MaxTDPWatts": 225000,
"Model": "Intel(R) Xeon(R) 6530P",
"Name": "DevType1_CPU0",
"ProcessorArchitecture": "x86"
}
]
}
]
是否准备好AI预审
否
