【已评审】新增私有对象,支持双主机场景下NVMe盘的带外管理

背景

双主机场景下NVMe盘的带外管理需要systemid参数来创建与对应主机通信的Endpoint
双主机场景目前有特定的硬盘背板,并且该背板的csr也要兼容单主机场景

关联ISSUE

支持双主机场景对NVMe盘的带外管理

整体方案

在对应机型的platform.sr中新增私有对象NVMeConfig,并且在私有对象中新增MultiHostMappings属性,用于描述支持双主机的硬盘背板的UID以及槽位和主机Id的映射关系。

在NVMe盘插入时,根据盘所在的硬盘背板的UID以及槽位号匹配上对应的systemid。调用创建EP的接口时传入systemid,用于带外管理。

评审点

是否能在platform.sr中新增私有对象NVMeConfig以及相应的私有属性MultiHostMappings。

详细描述

示例:

"NVMeConfig_1": {
    "MultiHostMappings": [
        {
            "UID": "00000001030302023938",  // 硬盘背板UID
            "SlotId": [0, 1, 2, 3],         // 硬盘槽位Id
            "SystemId": [1, 2, 1, 2]        // 对应槽位的systemid
        }
    ]
}

变化类型:platform.sr中新增私有对象

应用场景:用于双主机场景的NVMe盘带外管理

持久化类型: 不持久化

操作权限:ReadOnly

详细描述:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 属性说明 属性约束
MultiHostMappings 新增属性 a 只读 R:ReadOnly 不持久化 false 用于更新NVMe盘的systemid
  UID 新增属性 s 只读 R:ReadOnly 不持久化 false 硬盘背板的UID
  SlotId 新增属性 ay 只读 R:ReadOnly 不持久化 false NVMe盘的槽位 与SystemId数组长度相等
  SystemId 新增属性 ay 只读 R:ReadOnly 不持久化 false 槽位对应的主机Id 与SlotId数组长度相等

评审结论

1:同意在platform.sr中新增私有对象NVMeConfig和所属的私有属性MultiHostMappings。

遗留问题

1:私有属性命名不合理,需要修改。–已经闭环,修改为MultiHostMappings