【已评审】新增资源协作接口支持业务维测能力提升

评审背景

支持general_hardware组件读取SMC命令字

背景

通过获取运行时关键信息可以提升问题快速定位的能力,需要新增资源协作接口实现

决策点

决策点1

新增资源协作接口支持release版本中通过SMC获取升级对象的升级信息

详细说明

决策点1:新增资源协作接口用于在线调测查询SMC固件信息和状态

资源path:“bmc/kepler/Release/Systems/:SystemId/Smc”
资源interface:bmc.kepler.Release.Systems.SmcFirmwareStatus
变化类型:新增路径,新增接口,新增方法
应用场景:提供手动获取升级对象以及升级信息的方式

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 约束
GetFirmwareObjectDetails 新增方法 s FirmwareType:表示对象固件类型,取值范围:“MCU”,“VRD” a(a{ss}) 获取固件信息和升级状态 ReadOnly 用于获取固件信息和升级状态 仅支持MCU和VRD
响应体字典key名称 描述
ObjectId 升级对象唯一标识
ChipType 升级对象的类型,如VRD
ChipIndex 升级对象在板内的序号
ChipVendor 升级对象厂商
ChipModel 升级对象型号
MajorVersion 主要版本号
MinorVersion 次要版本号
Revision 修订版本号
TansmissionIntervalMilliseconds 多帧传输帧间隔时间,单位毫秒
UpgradeStatus 升级状态,取值有:
IDLE
INPROCESS
INSYNS
FAIL
LOW_VERSION
INVALID_UPGRADE_STATUS

决策点2:新增调测命令,用于查询SMC固件信息和状态

命令名称: getupdatedetails <firmwaretype>
命令描述: “Get firmware update details by firmware type.”

参数 参数说明
firmwaretype 表示固件类型,取值范围:“MCU”,“VRD”

评审结论

1、同意新增获取SMC固件信息和状态的的资源协作接口:
新增path:“bmc/kepler/Release/Systems/:SystemId/Smc”
新增interface:bmc.kepler.Release.Systems.SmcFirmwareStatus
新增方法:GetFirmwareObjectDetails
请求参数说明:

请求参数 取值范围
FirmwareType 取值为:“MCU”, “VRD”

响应参数说明:

响应体key名称 描述
ObjectId 升级对象唯一标识
ChipType 升级对象的类型,如VRD
ChipIndex 升级对象在板内的序号
ChipVendor 升级对象厂商
ChipModel 升级对象型号
MajorVersion 主要版本号
MinorVersion 次要版本号
Revision 修订版本号
TansmissionIntervalMilliseconds 多帧传输的间隔时间,单位毫秒
UpgradeStatus 升级状态,取值为:“IDEL”,“INPROCESS”,“INSYNS”,“FAIL”,“LOW_VERSION”,“INVALID_UPGRADE_STATUS”

2、同意新增调测命令查询SMC固件信息和状态
命令名称: getupdatedetails <firmwaretype>
命令描述: “Get firmware update details by firmware type.”

遗留问题:


1、新增入参为UpdateType,并枚举出来是MCU、VRD

2、这里与上面保持统一,使用升级类型UpdateType来指定
image
3、这个ObjectId是什么内容
4、建议上面两个接口合一,直接在上面的接口返回升级状态不就好了