【已评审】新增DriveStartSlotConfig对象用于对硬盘编号全局编码

背景

支持整机灵活定义硬盘槽位,全局对硬盘编号进行编码,满足要求。

关联ISSUE

[需求]: 支持整机配置硬盘背板上硬盘起始槽位号 - openUBMC/storage - AtomGit | GitCode

整体方案

支持整机配置硬盘背板上硬盘起始槽位号:
1、硬盘背板模型中硬盘起始槽位号由整机配置PSR的定义来更新;
2、整机PSR模型仅定义1个硬盘组合的起始槽位配置,具体模型定义参考示例;
3、通用硬件管理APP处理整机PSR定义的硬盘组合模型:
如果匹配成功且对应硬盘背板的硬盘起始槽位号为0xFE时,才更新对应的硬盘起始槽位号为PSR配置的值;
如果匹配失败且对应硬盘背板的硬盘起始槽位号为0xFE时,才更新对应的硬盘起始槽位号为0;

评审点

1.是否能在PSR中新增私有对象DriveStartSlotConfig以及相应的私有属性Configurations。

详细描述

评审点1示例:

"DriveStartSlotConfig_1": {
    "Configurations": [
      {
        "UID": "00000001010302047647",
        "Slot": 1,
        "ChildSlotType": "SEU",
        "ChildSlotIndex": [
          1,
          2
        ],
        "ChildStartSlot": [
          3,
          11
        ]
      },
      {
        "UID": "00000001010302047647",
        "Slot": 2,
        "ChildSlotType": "SEU",
        "ChildSlotIndex": [
          6
        ],
        "ChildStartSlot": [
          0
        ]
      }
    ]
}

变化类型:PSR中新增私有对象

应用场景:用于灵活定义硬板槽位

持久化类型: 不持久化

操作权限:ReadOnly

详细描述:

一级属性 二级属性 三级属性 类型 签名 读写&权限 持久化 变化通知 属性说明 属性约束
DriveStartSlotConfig 对象 - - - - 用于确定硬盘背板的起始槽位
Configurations 属性 a 只读 R:ReadOnly 不持久化 false 硬盘背板起始槽位配置
UID 属性 s 只读 R:ReadOnly 不持久化 false 硬盘背板上一级单板的UID
Slot 属性 y 只读 R:ReadOnly 不持久化 false 当前扩展板/硬盘背板的槽位
ChildSlotType 属性 s 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板的类型
ChildSlotIndex 属性 ay 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板所在的槽位
ChildStartSlot 属性 ay 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板的硬盘起始槽位

评审结论

1.同意在PSR中新增私有对象DriveStartSlotConfig以及相应的私有属性Configurations用于配置硬盘背板的硬盘起始槽位号,具体内容如下:

一级属性 二级属性 三级属性 类型 签名 读写&权限 持久化 变化通知 属性说明 属性约束
DriveStartSlotConfig 对象 - - - - 用于确定硬盘背板的起始槽位
Configurations 属性 a 只读 R:ReadOnly 不持久化 false 硬盘背板起始槽位配置
UID 属性 s 只读 R:ReadOnly 不持久化 false 硬盘背板上一级单板的UID
Slot 属性 y 只读 R:ReadOnly 不持久化 false 当前扩展板/硬盘背板的槽位
ChildSlotType 属性 s 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板的类型
ChildSlotIndex 属性 ay 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板所在的槽位
ChildStartSlot 属性 ay 只读 R:ReadOnly 不持久化 false 该单板下一级硬盘背板的硬盘起始槽位

遗留问题

1.UID和Slot属性命名问题
按照专家结论,如果加了Parent更像是有Parent,current,child三层关系了,因此还是按照Slot和UID命名。

2.ChildStartSlot属性的说明(该单板下一级硬盘背板的起始槽位)不准确与ChildSlotIndex有歧义。
ChildStartSlot的属性说明已修改成该单板下一级硬盘背板的硬盘起始槽位.

3.M2和SEU是否需要区分
不需要区分,删除M2