背景
北向接口在电源组件不在位时,无法确定该槽位在配置上属于pmbus电源还是电源转换器,因此无法确定显示默认电源信息还是默认的电源转换器信息,因此需要在遍历Connector时记录组件类型对应的槽位。
由于涉及到自定义类型名称修改,可能存在兼容性问题。
决策点
方案一(原方案):变更资源协作接口中自定义类型名称DeviceMaxCount为DeviceTotalInfo,新增DeviceSlots,此方案于一月已评审通过。由于在一月至现在的这段时间,无法确认是否社区开发者用到了旧的名称,可能会产生兼容性问题,因此考虑方案二。
方案二(待评审方案):DeviceSpecication定义修改,在原有接口DeviceMaxCount的基础上新增DeviceTotalInfo,包含组件槽位号。
详细描述
path: /bmc/kepler/Chassis/:ChassisId
interface: bmc.kepler.Chassis
property: DeviceSpecication
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 属性说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| DeviceSpecication | 变更属性取值类型 | a(sy) - > a(syay) | 只读R: ReadOnlyW: 无 | 不持久化 | false | 元素类型为存放DeviceName, MaximumNum和DeviceSlots的结构体,DeviceName为设备名称,签名为s,MaximumNum为最大设备数,签名为y,DeviceSlots为存放槽位号数组,签名为ay,内部存放槽位号,签名为y | 无 |
评审结论
同意bmc.kepler.Chassis的DeviceSpecication属性签名由a(sy)改为a(syay),结构体名称为DeviceSpecification,包含如下属性:
- DeviceName,设备名称,签名为s
- MaximumNum,最大设备数,签名为y
- DeviceSlots,存放槽位号数组,签名为ay,内部存放槽位号,签名为y
同时修改DeviceSpecication的description,补全该属性包含的所有信息的完整描述;对原结构体定义DeviceMaxCount新增description注明出于兼容性考虑保留,推荐使用新结构体定义。