新增资源协作接口支持监控Inventory信息

背景

当前部分平台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把收到的系统信息解析并更新到资源树对象。新增资源协作接口承载系统信息解析的状态和版本等信息。


评审点

  1. 新增资源协作接口及接口下属性,支持监控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预审

评审结论

遗留问题