【已评审】电源、风扇部件驱动接口补齐

背景

服务器管理南向接口技术要求文档中,电源、风扇的相关接口,属性类型、签名类型以及方法无法满足开发需求,需要补充调整生成接口文档

关联ISSUE

暂无

整体方案

参考最新南向接口文档,根据代码实现进行对比排查,梳理缺失、不一致的点,进行相应补齐

评审点

1、Fans对象新增PWMSetAccessor和PWMGetAccessor私有属性
2、风扇bmc.dev.Fans接口属性SpeedDeviationThresholdPercent修改权限为读写
3、风扇bmc.dev.PWMChannel接口变更为bmc.dev.Fan.PWMChannel
4、风扇bmc.dev.Fan.Oem接口新增StatusErrorCount属性
5、电源bmc.dev.PowerSupply接口属性RefChip属性变更为私有属性
6、电源bmc.dev.PowerSupply.Status接口移除无用属性Presence
7、电源bmc.dev.PowerSupply.Oem接口变更属性PSUExtensionStatus

详细描述

评审点1:Fans对象新增PWMSetAccessor和PWMGetAccessor私有属性

应用场景 : 配置风扇集合批量设置接口
持久化类型 : 不持久化
对象名 :Fans

属性名称 变化类型 签名 持久化 属性值来源 接口说明
PWMSetAccessor 新增属性 u 不持久化 CSR配置 风扇PWM批量设置
PWMGetAccessor 新增属性 u 不持久化 CSR配置 风扇PWM批量获取
配置举例:
"Fans_0": {
    "bmc.dev.Fans": {
        "WorkInStandby": 0,
        "SpeedDeviationThresholdPercent": 25
    },
    "PWMSetAccessor":  "#/Accessor_PWMSet.Value",
    "PWMGetAccessor":  "#/Accessor_PWMGet.Value"
}

评审点2:风扇bmc.dev.Fans接口属性SpeedDeviationThresholdPercent修改权限为读写

接口描述:接口承载了风扇集合的信息
接口:bmc.dev.Fans

变更属性权限

属性名称 签名 只读 访问权限 属性描述 属性来源 持久化类型 变更影响
SpeedDeviationThresholdPercent y false Read: ReadOnly
Write:BasicSetting
风扇转速偏差阈值,默认25 组件内部维护 不持久化 无影响

评审点3:风扇bmc.dev.PWMChannel接口变更为bmc.dev.Fan.PWMChannel

接口描述:接口描述了风扇通道相关信息
接口:bmc.dev.PWMChannel

变更接口名称

接口:bmc.dev.Fan.PWMChannel

评审点4:风扇bmc.dev.Fan.Oem接口新增StatusErrorCount属性

接口描述:接口承载了风扇自定义的信息
接口:bmc.dev.Fan.Oem

删除属性

属性名称 签名 只读 访问权限 属性描述 属性来源 持久化类型 变更影响
StatusErrorCount a{su} true Read: ReadOnly 风扇状态异常次数,返回数组分别表示前转子异常次数(FrontErrorCount)、后转子异常次数(RearErrorCount)、前转子停转次数(FrontStopCount)、后转子停转次数(RearStopCount) 驱动层代码刷新 不持久化 无影响

评审点5:电源bmc.dev.PowerSupply接口属性RefChip属性变更为私有属性

应用场景 : 配置电源引用的Chip对象
持久化类型 : 不持久化
对象名 :OnePower

属性名称 变化类型 签名 持久化 属性值来源 接口说明
RefChip 新增属性 s 不持久化 CSR配置 电源芯片引用对象

配置举例:

"OnePower_1": {
    "PhysicalInterface": "smc",
    "bmc.dev.PowerSupply": {
       "RefChip": "#/Eeprom_PsuChip",
        "SlotNumber": "${Slot}",
        "Protocol": "smc",
        "SerialNumber": "",
        "PartNumber": "",
        "DeviceLocator": "PSU${Slot}",
        "Position": "EXU",
        "IsPartOfSysPower": true,
        "UpgradeSupported": false,
        "IsSupportPowerOnUpgrade": false
    }
}

评审点6:电源bmc.dev.PowerSupply.Status接口移除无用属性Presence

接口描述:接口承载了电源状态的信息
接口:bmc.dev.PowerSupply.Status

属性名称 签名 只读 访问权限 属性描述 属性来源 持久化类型 变更影响
Presence y true Read: ReadOnly 电源在位状态 CSR配置 不持久化 无影响

评审点7:电源bmc.dev.PowerSupply.Oem接口变更属性PSUExtensionStatus

接口描述:接口承载了电源自定义的信息
接口:bmc.dev.PowerSupply.Oem

变更属性

变更前:

属性名称 签名 只读 访问权限 属性描述 属性来源 持久化类型 变更影响
PSUExtensionStatus t true Read: ReadOnly 电源扩展状态信息 驱动层从硬件获取 不持久化 无影响

变更后:

属性名称 签名 只读 访问权限 属性描述 属性来源 持久化类型 变更影响
ExtendedPowerStatusLow u true Read: ReadOnly 扩展电源状态低4字节 驱动层从硬件获取 不持久化 无影响
ExtendedPowerStatusHigh u true Read: ReadOnly 扩展电源状态高4字节 驱动层从硬件获取 不持久化 无影响

评审结论

1、同意Fans对象新增PWMSetAccessor和PWMGetAccessor私有属性,表示风扇PWM批量设置和风扇PWM批量获取的Accessor
2、同意风扇bmc.dev.Fans接口属性SpeedDeviationThresholdPercent修改权限为读写
3、同意风扇bmc.dev.PWMChannel接口变更为bmc.dev.Fan.PWMChannel
4、同意风扇bmc.dev.Fan.Oem接口新增StatusErrorCount属性,类型a{su},表示风扇状态异常次数
5、电源bmc.dev.PowerSupply接口属性RefChip属性保持文档定义,不调整为私有属性
6、电源bmc.dev.PowerSupply.Status接口属性Presence保持文档定义,不进行删除
6、电源bmc.dev.PowerSupply.Oem接口属性PSUExtensionStatus保持文档定义,不进行拆分