背景
支持整机灵活定义硬盘槽位,全局对硬盘编号进行编码,满足要求。
关联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