决策点1:webrest接口评审
评审背景
评审点1 新增超节点查询webrest接口
| 项 | 取值 |
|---|---|
| URI | /UI/Rest/System/SuperPodOptions |
| 操作类型 | GET |
| 变化类型 | 新增接口 |
| 接口说明 | 超节点信息查询接口 |
接口下包含相应属性
| 属性名称 | 变化类型 | 属性说明 | 数据类型 | 取值说明 | 是否支持读写 | 读写权限 |
|---|---|---|---|---|---|---|
| SuperPodId | 新增属性 | 超节点ID(超节点所有机框使用的ID) | integer | 0-4294967295 | 是 | R:ReadOnly W:BasicSetting |
| ServerIndex | 新增属性 | 此设备所属OS编号 | integer | 0-65535 | 是 | R:ReadOnly W:BasicSetting |
| SuperPodSize | 新增属性 | 超节点规模(NPU个数) | integer | 16-8192 | 是 | R:ReadOnly W:BasicSetting |
| ChassisID | 新增属性 | 此设备所属机柜编号 | string | 十进制字符串(0-65535) | 是 | R:ReadOnly W:BasicSetting |
| TopologyType | 新增属性 | 超节点拓扑类型(如 8P拓扑 指单台服务器) | integer | 0-4 0:8P单整机 1:1D 板内NPU组网 2:1D 板内及板间NPU组网 3:16P 两台8P整机互联 4:32P 四台8P整机互联 |
是 | R:ReadOnly W:BasicSetting |
| InterconType | 新增属性 | 超节点互联类型(如何实现最终拓扑 通过交换/DPU实现互联) | integer | 0-4 0:RoCE over DPU 基于DPU实现ROCE互联 1:RoCE over CPU 基于CPU实现RoCE互联 2:UBoE over NPU 基于NPU实现ROCE互联 3:UBoE over SWITCH 基于SWITCH实现UBOE互联 4:UBoE over DPU 基于DPU实现UBoE互联 |
是 | R:ReadOnly W:BasicSetting |
| PresentDPUCount | 新增属性 | 此设备所属机柜内DPU数量 | integer | 16/32 16:机框内部DPU个数为16 32:机框内部DPU个数为32 |
是 | R:ReadOnly W:BasicSetting |
| NPUBootOption | 新增属性 | NPU启动方式(CDMA/PXE) | integer | 0-2 0:UB CDMA启动 NPU从HOST侧拉取OS镜像包启动NPUOS 1:PCIE启动 HOST侧向NPU传输OS镜像包启动NPUOS 2:UB PXE启动 基于PXE服务器启动NPUOS |
是 | R:ReadOnly W:BasicSetting |
| UBManagedBy | 新增属性 | UB管理方式(带内host管理/带外 华为云) | integer | 0-1 0:带外管理 通过带外控制设备进行UB管理 1:带内管理 通过带内业务通道进行UB管理 |
是 | R:ReadOnly W:BasicSetting |
接口对应响应体举例
{
"ChassisID": "0",
"SuperPodLabel": {
"SuperPodId": 1235,
"ServerIndex": 0,
"SuperPodSize": 128,
"TopologyType": 0,
"InterconType": 1,
"PresentDPUCount": 16,
"NPUBootOption": 0,
"UBManagedBy": 0
}
}
评审点2 新增超节点设置webrest接口
| 项 | 取值 |
|---|---|
| URI | /UI/Rest/System/SuperPodOptions |
| 操作类型 | PATCH |
| 变化类型 | 新增接口 |
| 接口说明 | 超节点信息配置接口 |
接口下可配置属性和GET接口可配置属性一致
接口对应请求体举例
{
"ChassisID": "0",
"SuperPodLabel": {
"SuperPodId": 1235,
"ServerIndex": 0,
"SuperPodSize": 128,
"TopologyType": 0,
"InterconType": 1,
"PresentDPUCount": 16,
"NPUBootOption": 0,
"UBManagedBy": 0
}
}
评审点3 新增超节点配置还原webrest接口
| 项 | 取值 |
|---|---|
| URI | /UI/Rest/System/SuperPodOptions/ResetToDefaults |
| 操作类型 | POST |
| 变化类型 | 新增接口 |
| 接口说明 | 超节点信息配置还原接口 |
| 请求消息体 | {} |
| 请求响应体 | {} |
| 接口权限 | BasicSetting |
评审点4 接口裁剪设计
超节点配置页面当前仅支持特定机型,对于其他机型需要裁剪该页面
在/UI/Rest/GenericInfo下新增是否支持配置超节点信息,前端获取判断是否显示
| 项 | 取值 |
|---|---|
| URI | /UI/Rest/GenericInfo |
| 操作类型 | GET |
| 变化类型 | 新增属性 |
| 变化说明 | 新增超节点信息是否支持配置 |
新增属性为
| 属性名称 | 变化类型 | 属性说明 | 数据类型 | 取值说明 | 是否支持读写 | 读写权限 |
|---|---|---|---|---|---|---|
| SuperPodSupported | 新增属性 | 是否支持显示超节点信息 | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
评审点5 属性裁剪设计
超节点配置在不同机型可配置的属性不同,如某些机型可配置SuperPodSize,其他机型不支持,不支持的属性web不显示
在/UI/Rest/System/SuperPodOptions下新增是否支持配置特定属性信息
新增属性为
| 属性名称 | 变化类型 | 属性说明 | 数据类型 | 取值说明 | 是否支持读写 | 读写权限 |
|---|---|---|---|---|---|---|
| SuperPodIdSupported | 新增属性 | 超节点设置支持web页面显示属性SuperPodId | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| ServerIndexSupported | 新增属性 | 超节点设置支持web页面显示属性ServerIndex | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| SuperPodSizeSupported | 新增属性 | 超节点设置支持web页面显示属性SuperPodSize | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| ChassisIDSupported | 新增属性 | 超节点设置支持web页面显示属性ChassisID | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| PresentDPUCountSupported | 新增属性 | 超节点设置支持web页面显示属性PresentDPUCount | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| TopologyTypeSupported | 新增属性 | 超节点设置支持web页面显示属性TopologyType | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| InterconTypeSupported | 新增属性 | 超节点设置支持web页面显示属性InterconType | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| NPUBootOptionSupported | 新增属性 | 超节点设置支持web页面显示属性NPUBootOption | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
| UBManagedBySupported | 新增属性 | 超节点设置支持web页面显示属性UBManagedBy | boolean | true 支持 false 不支持 | 否 | R:ReadOnly |
评审点6 属性可设置值选项设计
超节点配置在不同机型可配置的属性取值不同,如某些机型Topology可配置1D,其他机型不支持,不支持的属性选项web下拉框不显示
新增下列可选配置属性数组
| 属性名称 | 变化类型 | 属性说明 | 数据类型 | 取值说明 | 是否支持读写 | 读写权限 |
|---|---|---|---|---|---|---|
| TopologyTypeAllowedNumbers | 新增属性 | 超节点拓扑类型可设置选项 | array(元素类型为integer) | 在TopologyType合法取值0-4内 | 否 | R:ReadOnly |
| InterconTypeAllowedNumbers | 新增属性 | 超节点互联类型可设置选项 | array(元素类型为integer) | 在InterconType合法取值0-4内 | 否 | R:ReadOnly |
| PresentDPUCountAllowedNumbers | 新增属性 | 此设备所属机柜内DPU数量可设置选项 | array(元素类型为integer) | 在PresentDPUCount合法取值16/32内 | 否 | R:ReadOnly |
| NPUBootOptionAllowedNumbers | 新增属性 | NPU启动模式可设置选项 | array(元素类型为integer) | 在NPUBootOption合法取值0-2内 | 否 | R:ReadOnly |
| UBManagedByAllowedNumbers | 新增属性 | 带内、带外管理可设置选项 | array(元素类型为integer) | 在UBManagedBy合法取值0-1内 | 否 | R:ReadOnly |
依照上述评审点最终的GET请求的最终响应体为
{
"ChassisID": "0",
"SuperPodLabel": {
"SuperPodId": 1235,
"ServerIndex": 0,
"SuperPodSize": 128,
"TopologyType": 0,
"InterconType": 1,
"PresentDPUCount": 16,
"NPUBootOption": 0,
"UBManagedBy": 0,
"SuperPodIdSupported": true,
"ServerIndexSupported": true,
"SuperPodSizeSupported": true,
"TopologyTypeSupported": true,
"InterconTypeSupported": true,
"PresentDPUCountSupported": true,
"NPUBootOptionSupported": true,
"UBManagedBySupported": true,
"PresentDPUCountAllowedNumbers": [16],
"TopologyTypeAllowedNumbers": [0, 1],
"InterconTypeAllowedNumbers": [0, 1],
"NPUBootOptionAllowedNumbers": [0, 1],
"UBManagedByAllowedNumbers": [0, 1],
},
"ChassisIDSupported": true,
}
决策点2:web前端页面评审
在系统管理页签下新增超节点配置项
选项为
| 属性名称 | 默认值 | 选项类型 | 是否可配置 |
|---|---|---|---|
| 超节点编号 | 使用后端传入参数显示 | 用户输入 | 根据后端返回SuperPodIdSupported判断 |
| 超节点规模 | 使用后端传入参数显示 | 用户输入 | 根据后端返回ServerIndexSupported判断 |
| 此设备所属机柜编号 | 使用后端传入参数显示 | 用户输入 | 根据后端返回SuperPodSizeSupported判断 |
| 超节点拓扑 | 使用后端传入参数显示 | 下拉框 | 根据后端返回ChassisIDSupported判断 |
| 超节点互联模式 | 使用后端传入参数显示 | 下拉框 | 根据后端返回PresentDPUCountSupported 判断 |
| 此设备所属机柜内DPU数量 | 使用后端传入参数显示 | 下拉框 | 根据后端返回TopologyTypeSupported判断 |
| 此设备所属OS编号 | 使用后端传入参数显示 | 用户输入 | 根据后端返回InterconTypeSupported判断 |
| NPU启动模式 | 使用后端传入参数显示 | 下拉框 | 根据后端返回NPUBootOptionSupported判断 |
| UB管理模式 | 使用后端传入参数显示 | 按钮点选 | 根据后端返回UBManagedBySupported判断 |
新增按钮 保存设置、恢复默认设置
| 新增按钮 | 使用接口 | 传参 | 类型 |
|---|---|---|---|
| 保存 | /UI/Rest/System/SuperPodOptions | 用户修改的属性 | PATCH |
| 恢复默认配置 | /UI/Rest/System/SuperPodOptions/ResetToDefaults | {} | POST |
决策点3:ipmi接口评审
评审点1 使用Get Rack Info命令,新增Parameter Selector,查询超节点扩展信息
IPMI命令字:NetFn:0x30 Cmd:0x94
名称:GetSuperPodLabelInfoExpansion
应用场景:查询超节点扩展信息
操作权限:User
可执行角色等级:ReadOnly
| 字节顺序 | 域内容 |
|---|---|
| NetFn | 30h |
| Cmd | 94h |
| 1:3 | Manufacturer ID。 |
| 4 | Sub command,子命令=6Ah |
| 5:6 | Parameter Selector,新增0x0008h |
| 7:8 | Read Offset,0x0000h |
| 9 | Length,读取长度(最大为250bytes) |
响应说明:
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID |
| 5 | 表示当前数据是否结束 |
| 6:N | Data,具体参见下表。 |
评审点2 使用Set Rack Info命令,新增Parameter Selector,设置超节点扩展信息
IPMI命令字:NetFn:0x30 Cmd:0x94
名称:SetSuperPodLabelInfoExpansion
应用场景:设置所有超节点扩展信息
操作权限:BasicSetting
可执行角色等级:Operator
| 字节顺序 | 域内容 |
|---|---|
| NetFn | 30h |
| Cmd | 94h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=6bh |
| 5:6 | Parameter Selector,新增0x0008h |
| 7 | [7:1]:reserved [0]:End of list 0=last data 1=middle data |
| 8:9 | 写入的数据偏移, 0x0000h |
| 10 | Length 写入长度 |
| 11:N | Parameter Data,具体参见下表。 |
响应说明:
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID。 |
综上 机框参数列表为 其中粗体为本次新增
| 功能描述 | parameter selector | parameter data-get | parameter data-set |
|---|---|---|---|
| 模板:功能描述,使用场景 | 0xMMNN | 请求:Read Offset:0x0000Length: 1响应:End of List: 0Data:0: 功能01: 功能1 | 请求:Write Offset:0x0000Length: 1Data:0: 功能01: 功能1 |
| 定制SuperPodLabelExpansion属性 | 0x0008 | 请求:Read offset: 0x0000 Length:7 Data: Byte1 TopologyType Byte2 NPUBootOption Byte3 UBManagedBy Byte4 InterconType Byte5 PresentDPUCount Byte6:7 ChassisID |
Write Offset: 0x0000 0x00 定制所有超节点扩展属性 length:8 0x01 定制TopologyType length:2 0x02 定制NPUBootOption length:2 0x03 定制InterconType length:2 0x04 定制PresentDPUCount length:2 0x05 定制UBManagedBy length:2 0x06 定制ChassisID length:3 |
评审结论
决策点1
- 同意在系统管理页面新增超节点查询接口,接口/UI/Rest/System/SuperPodOptions,方法为GET(参考评审点1)
- 同意在系统管理页面新增超节点设置接口,接口/UI/Rest/System/SuperPodOptions,方法为PATCH(参考评审点2)
- 同意在系统管理页面新增超节点还原接口,接口/UI/Rest/System/SuperPodOptions/ResetToDefaults,方法为POST(参考评审点3)
- 同意对超节点配置页面进行接口裁剪,裁剪方式为在接口/UI/Rest/GenericInfo下新增SuperPodSupported属性,类型为boolean,当属性为true时前端显示超节点配置页面,当属性不存在或为false时前端不显示该页面(参考评审点4)
- 同意对超节点配置页面进行属性裁剪,裁剪方式为在接口/UI/Rest/System/SuperPodOptions下新增SuperPodIdSupported,ServerIndexSupported,SuperPodSizeSupported,ChassisIDSupported,PresentDPUCountSupported,TopologyTypeSupported,InterconTypeSupported,NPUBootOptionSupported,UBManagedBySupported属性,类型为boolean,当属性为true时前端显示且可配置该属性,当属性为false时不显示该属性(参考评审点5)
- 同意接口/UI/Rest/System/SuperPodOptions下新增属性可设置值选项,名称为TopologyTypeAllowedNumbers,InterconTypeAllowedNumbers,PresentDPUCountAllowedNumbers,NPUBootOptionAllowedNumbers,UBManagedByAllowedNumbers,分别代表超节点拓扑类型可设置选项,超节点互联类型可设置选项,此设备所属机柜内DPU数量可设置选项,UB管理模式可设置选项,类型为数组,数组当中均为interger类型,由前端映射为字符串选项(参考评审点6)
决策点2
- 同意在系统管理页面下新增超节点设置页面,其中页面结果如下图所示,其中此此设备所属OS编号,此设备所属机柜编号和此设备所属机柜内DPU数量为本机属性,超节点编号,超节点规模,超节点拓扑,超节点互联模式,NPU启动方式和UB管理方式为超节点属性
属性映射如下表
| 属性名称 | 属性web名称 | 属性说明 | 设置方式 |
|---|---|---|---|
| SuperPodId | 超节点编号 | 超节点属性 | 用户输入 |
| ServerIndex | 此设备所属OS编号 | 本机属性 | 用户输入 |
| SuperPodSize | 超节点规模 | 超节点属性 | 用户输入 |
| ChassisID | 此设备所属机柜编号 | 本机属性 | 用户输入 |
| TopologyType | 超节点拓扑 | 超节点属性 | 下拉框 |
| InterconType | 超节点互联模式 | 超节点属性 | 下拉框 |
| PresentDPUCount | 此设备所属机柜内DPU数量 | 本机属性 | 下拉框 |
| NPUBootOption | NPU启动方式 | 超节点属性 | 下拉框 |
| UBManagedBy | UB管理方式 | 超节点属性 | 按钮点选 |
当用户点击保存时,前端只会返回用户当前修改属性,因此只会记录被修改属性值的操作日志
决策点3
- 不同意新增查询、设置超节点扩展信息ipmi命令,需要考虑后续超节点属性新增字段的扩展性。
