【已评审】新增超节点信息配置web和ipmi接口

决策点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命令,需要考虑后续超节点属性新增字段的扩展性。