【已评审】SSU管理相关北向接口评审

背景

SSU(Smart Storage Unit)模组是独立计算/存储单元,每个SSU有自己的硬盘、GE网口(支持平面切换)、UB高速口、CPU、内存等。本次议题申报通过2个北向接口(Redfish/IPMI)对外暴露SSU的设备信息(硬盘、GE MAC地址、定位灯、UB端口速率、CPU/内存摘要、CPU温度、硬盘温度),支持GE口平面切换和UB端口速率配置,并体现SSU与主机系统的组成关系。

关联ISSUE

整体方案

Redfish接口(通过SSU:id区分):

  1. 复用标准Chassis资源 /redfish/v1/Chassis/SSU:id 管理SSU物理容器(含电子标签、定位灯、硬盘/网卡子资源)
  2. 复用标准ComputerSystem资源 /redfish/v1/Systems/SSU:id 管理SSU计算系统(含CPU/内存/网络/日志/BIOS子资源)
  3. 复用标准Drive资源 /redfish/v1/Chassis/SSU:id/Drives/:DriveId 管理SSU硬盘(含OEM硬盘温度)
  4. 复用标准NetworkAdapter资源 /redfish/v1/Chassis/SSU:id/NetworkAdapters/:NetworkAdapterId 管理SSU网卡(含Controllers和Ports子资源)
  5. 复用标准Port资源管理GE/UB网口(含MAC地址查询),支持PATCH端口速率切换
  6. 复用标准Processor资源 /redfish/v1/Systems/SSU:id/Processors/:ProcessorId 管理SSU处理器(含OEM CPU温度)

IPMI接口(独立OEM命令):
7. 新增OEM IPMI命令执行SSU GE口平面切换
8. 新增OEM IPMI命令获取SSU配置(GE口当前平面)

评审点

Redfish接口

  1. 复用标准Chassis资源管理SSU物理容器(含ChassisCollection、电子标签属性,Links含Processors/Drives及count)
  2. 复用标准ComputerSystem资源管理SSU计算系统(含ProcessorSummary/MemorySummary/Processors/Memory/EthernetInterfaces/NetworkInterfaces/LogServices/Bios)
  3. 复用标准Drive资源管理SSU硬盘(含DriveCollection、OEM硬盘温度)
  4. 复用标准NetworkAdapter资源管理SSU网卡(含NetworkAdapterCollection,Controllers下Links含Ports引用)
  5. 复用标准Port资源管理GE/UB网口(含PortCollection),支持PATCH端口速率切换
  6. 复用标准Processor资源管理SSU处理器(含ProcessorCollection、OEM CPU温度)

IPMI接口

  1. 新增SSU GE口平面切换IPMI命令
  2. 新增获取SSU配置(GE口当前平面)IPMI命令

详细描述


评审点1:复用 Redfish 标准资源 Chassis(SSU物理容器)

资源URI :/redfish/v1/Chassis

资源版本 :ChassisCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :ChassisCollection资源的Members属性包含各Chassis(含主机和SSU)的@odata.id引用

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly Chassis集合成员列表
Members@odata.count integer 2 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#ChassisCollection.ChassisCollection",
  "@odata.id": "/redfish/v1/Chassis",
  "Name": "Chassis Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Chassis/1" },
    { "@odata.id": "/redfish/v1/Chassis/SSU0" }
  ],
  "Members@odata.count": 2
}

资源URI :/redfish/v1/Chassis/SSU:id

资源版本 :Chassis.v1_26_0(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name, ChassisType

嵌套资源 :本资源(Chassis)嵌套于ChassisCollection资源的Members属性中

Link资源 :

  1. 标准文档对标:
    • Links.ContainedBy 指向主机Chassis /redfish/v1/Chassis/1(表示SSU物理上包含在主机内)
    • Links.ComputerSystems 指向SSU对应的ComputerSystem /redfish/v1/Systems/SSU0
    • Links.ManagedBy 指向管理此SSU的主机BMC Manager /redfish/v1/Managers/1
    • Links.Processors 指向SSU的处理器资源 /redfish/v1/Systems/SSU0/Processors/1(引用ComputerSystem下的Processor)
    • Links.Drives 指向SSU的硬盘资源 /redfish/v1/Chassis/SSU0/Drives/Disk0
  2. 功能管理归属:SSU Chassis由主机BMC(/redfish/v1/Managers/1)管理
  3. 逻辑引用依赖:Drive、NetworkAdapter通过各自的直接属性链接关联到此Chassis的子资源

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
ChassisType enum 枚举值:Module true 否 / ReadOnly 机箱类型,SSU使用Module
Manufacturer string,null “Huawei” true 否 / ReadOnly 机箱制造商
SerialNumber string,null “SSU0SN12345” true 否 / ReadOnly 机箱序列号
Model string,null “SSU-Model-A” true 否 / ReadOnly 机箱型号
PartNumber string,null “SSU-PN-001” true 否 / ReadOnly 机箱部件号
PowerState enum,null On/Off true 是 / ReadOnly 机箱电源状态
Status object {Health, State} true 是 / ReadOnly 资源状态和健康信息
LocationIndicatorActive boolean,null true/false/null false 否 是 BasicSetting 定位灯状态
Drives object {“@odata.id”: “…/Drives”} true 否 / ReadOnly 指向DriveCollection的链接
NetworkAdapters object {“@odata.id”: “…/NetworkAdapters”} true 否 / ReadOnly 指向NetworkAdapterCollection的链接
Links.ContainedBy object {“@odata.id”: “…/Chassis/1”} true 否 / ReadOnly 指向主机Chassis
Links.ComputerSystems array [{“@odata.id”: “…/Systems/SSU0”}] true 否 / ReadOnly 此Chassis包含的ComputerSystem
Links.ManagedBy array [{“@odata.id”: “…/Managers/1”}] true 否 / ReadOnly 管理此Chassis的Manager
Links.Processors array [{“@odata.id”: “…/Systems/SSU0/Processors/1”}] true 否 / ReadOnly 此Chassis关联的处理器(引用ComputerSystem下Processor)
Links.Processors@odata.count integer 1 true 否 / ReadOnly 处理器数量
Links.Drives array [{“@odata.id”: “…/Chassis/SSU0/Drives/Disk0”}] true 否 / ReadOnly 此Chassis关联的硬盘
Links.Drives@odata.count integer 1 true 否 / ReadOnly 硬盘数量

Get响应示例

{
  "@odata.type": "#Chassis.v1_26_0.Chassis",
  "@odata.id": "/redfish/v1/Chassis/SSU0",
  "Id": "SSU0",
  "Name": "SSU Module Chassis",
  "ChassisType": "Module",
  "Manufacturer": "Huawei",
  "SerialNumber": "SSU0SN12345",
  "Model": "SSU-Model-A",
  "PartNumber": "SSU-PN-001",
  "PowerState": "On",
  "Status": {
    "Health": "OK",
    "State": "Enabled"
  },
  "LocationIndicatorActive": true,
  "Drives": { "@odata.id": "/redfish/v1/Chassis/SSU0/Drives" },
  "NetworkAdapters": { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters" },
  "Links": {
    "ContainedBy": { "@odata.id": "/redfish/v1/Chassis/1" },
    "ComputerSystems": [
      { "@odata.id": "/redfish/v1/Systems/SSU0" }
    ],
    "ManagedBy": [
      { "@odata.id": "/redfish/v1/Managers/1" }
    ],
    "Processors": [
      { "@odata.id": "/redfish/v1/Systems/SSU0/Processors/1" }
    ],
    "Processors@odata.count": 1,
    "Drives": [
      { "@odata.id": "/redfish/v1/Chassis/SSU0/Drives/Disk0" }
    ],
    "Drives@odata.count": 1
  }
}

Patch请求示例(设置定位灯)

{
  "LocationIndicatorActive": true
}

评审点2:复用 Redfish 标准资源 ComputerSystem(SSU计算系统)

资源URI :/redfish/v1/Systems

资源版本 :ComputerSystemCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :ComputerSystemCollection资源的Members属性包含各ComputerSystem(含主机和SSU)的@odata.id引用

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly ComputerSystem集合成员列表
Members@odata.count integer 2 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection",
  "@odata.id": "/redfish/v1/Systems",
  "Name": "Computer System Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Systems/1" },
    { "@odata.id": "/redfish/v1/Systems/SSU0" }
  ],
  "Members@odata.count": 2
}

资源URI :/redfish/v1/Systems/SSU:id

资源版本 :ComputerSystem.v1_23_0(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name, SystemType

嵌套资源 :本资源(ComputerSystem)嵌套于ComputerSystemCollection资源的Members属性中

Link资源 :

  1. 标准文档对标:
    • Links.Chassis 指向SSU自身的Chassis /redfish/v1/Chassis/SSU0
    • Links.ConsumingComputerSystems 指向主机System /redfish/v1/Systems/1(表示此SSU组成了主机系统的一部分)
    • Links.ManagedBy 指向主机BMC /redfish/v1/Managers/1
  2. 功能管理归属:SSU ComputerSystem由主机BMC(/redfish/v1/Managers/1)管理
  3. 逻辑引用依赖:通过子资源链接关联Processors、Memory、网络接口、日志、BIOS

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
SystemType enum 枚举值:Physical true 否 / ReadOnly 系统类型,SSU使用Physical
ProcessorSummary object {Count, Model, …} true 否 / ReadOnly 处理器摘要信息
MemorySummary object {TotalSystemMemoryGiB, Status, …} true 否 / ReadOnly 内存摘要信息
Processors object {“@odata.id”: “…/Processors”} true 否 / ReadOnly 指向ProcessorCollection的链接
Memory object {“@odata.id”: “…/Memory”} true 否 / ReadOnly 指向MemoryCollection的链接
EthernetInterfaces object {“@odata.id”: “…/EthernetInterfaces”} true 否 / ReadOnly 指向EthernetInterfaceCollection的链接
NetworkInterfaces object {“@odata.id”: “…/NetworkInterfaces”} true 否 / ReadOnly 指向NetworkInterfaceCollection的链接
LogServices object {“@odata.id”: “…/LogServices”} true 否 / ReadOnly 指向LogServiceCollection的链接
Bios object {“@odata.id”: “…/Bios”} true 否 / ReadOnly 指向Bios资源的链接
Links.Chassis array [{“@odata.id”: “…/Chassis/SSU0”}] true 否 / ReadOnly 包含此系统的Chassis
Links.ConsumingComputerSystems array [{“@odata.id”: “…/Systems/1”}] true 否 / ReadOnly 由此系统实现的系统
Links.ManagedBy array [{“@odata.id”: “…/Managers/1”}] true 否 / ReadOnly 管理此系统的Manager

主机System的 Links.SupplyingComputerSystems 列出所有SSU → “一个系统由哪些SSUX组成”
SSU System的 Links.ConsumingComputerSystems 列出主机System → “哪些SSUX组成了一个系统”

Get响应示例(SSU System)

{
  "@odata.type": "#ComputerSystem.v1_23_0.ComputerSystem",
  "@odata.id": "/redfish/v1/Systems/SSU0",
  "Id": "SSU0",
  "Name": "SSU Module System",
  "SystemType": "Physical",
  "ProcessorSummary": {
    "Count": 1,
    "Model": "SSU Processor",
    "Status": { "Health": "OK", "State": "Enabled" }
  },
  "MemorySummary": {
    "TotalSystemMemoryGiB": 64,
    "Status": { "Health": "OK", "State": "Enabled" }
  },
  "Processors": { "@odata.id": "/redfish/v1/Systems/SSU0/Processors" },
  "Memory": { "@odata.id": "/redfish/v1/Systems/SSU0/Memory" },
  "EthernetInterfaces": { "@odata.id": "/redfish/v1/Systems/SSU0/EthernetInterfaces" },
  "NetworkInterfaces": { "@odata.id": "/redfish/v1/Systems/SSU0/NetworkInterfaces" },
  "LogServices": { "@odata.id": "/redfish/v1/Systems/SSU0/LogServices" },
  "Bios": { "@odata.id": "/redfish/v1/Systems/SSU0/Bios" },
  "Links": {
    "Chassis": [
      { "@odata.id": "/redfish/v1/Chassis/SSU0" }
    ],
    "ConsumingComputerSystems": [
      { "@odata.id": "/redfish/v1/Systems/1" }
    ],
    "ManagedBy": [
      { "@odata.id": "/redfish/v1/Managers/1" }
    ]
  }
}

评审点3:复用 Redfish 标准资源 Drive(SSU硬盘)

资源URI :/redfish/v1/Chassis/SSU:id/Drives

资源版本 :DriveCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :DriveCollection资源的Members属性包含各Drive的@odata.id引用;DriveCollection嵌套于Chassis资源的Drives属性中

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly Drive集合成员列表
Members@odata.count integer 1 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#DriveCollection.DriveCollection",
  "@odata.id": "/redfish/v1/Chassis/SSU0/Drives",
  "Name": "Drive Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Chassis/SSU0/Drives/Disk0" }
  ],
  "Members@odata.count": 1
}

资源URI :/redfish/v1/Chassis/SSU:id/Drives/:DriveId

资源版本 :Drive.v1_21_0(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name

嵌套资源 :本资源(Drive)嵌套于DriveCollection资源的Members属性中

Link资源 :

  1. 标准文档对标:Links.Chassis 反向指向所属的SSU Chassis /redfish/v1/Chassis/SSU0

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Links.Chassis object {“@odata.id”: “…/Chassis/SSU0”} true 否 / ReadOnly 反向链接到SSU Chassis
Oem.OpenBMC.TemperatureCelsius number,null 35 true 是 / ReadOnly 硬盘温度(摄氏度),OEM扩展属性,OEM资源为openUBMCDrive.v1_0_0

Get响应示例

{
  "@odata.type": "#Drive.v1_21_0.Drive",
  "@odata.id": "/redfish/v1/Chassis/SSU0/Drives/Disk0",
  "Id": "Disk0",
  "Name": "SSU0 NVMe Drive 0",
  "Links": {
    "Chassis": { "@odata.id": "/redfish/v1/Chassis/SSU0" }
  },
  "Oem": {
    "OpenBMC": {
      "@odata.type": "#openUBMCDrive.v1_0_0.Drive",
      "TemperatureCelsius": 35
    }
  }
}

评审点4:复用 Redfish 标准资源 NetworkAdapter(SSU网卡)

资源URI :/redfish/v1/Chassis/SSU:id/NetworkAdapters

资源版本 :NetworkAdapterCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :NetworkAdapterCollection资源的Members属性包含各NetworkAdapter的@odata.id引用;嵌套于Chassis资源的NetworkAdapters属性中

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly NetworkAdapter集合成员列表
Members@odata.count integer 1 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters",
  "Name": "Network Adapter Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0" }
  ],
  "Members@odata.count": 1
}

资源URI :/redfish/v1/Chassis/SSU:id/NetworkAdapters/:NetworkAdapterId

资源版本 :NetworkAdapter.v1_12_1(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name

嵌套资源 :本资源(NetworkAdapter)嵌套于NetworkAdapterCollection资源的Members属性中

Link资源 :

  1. 标准文档对标:
    • Ports 链接指向PortCollection子资源 /redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports
    • Controllers[].Links.Ports 引用同一PortCollection下的各Port资源(GE0、UB0、UB1)

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Ports object {“@odata.id”: “…/Ports”} true 否 / ReadOnly 指向PortCollection的链接
Controllers array [{Links: {Ports: […]}}] true 否 / ReadOnly 控制器列表,每个控制器通过Links.Ports引用端口资源

Get响应示例

{
  "@odata.type": "#NetworkAdapter.v1_12_1.NetworkAdapter",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0",
  "Id": "SSU0ModuleLOM0",
  "Name": "SSU0ModuleLOM0",
  "Ports": { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports" },
  "Controllers": [
    {
      "Links": {
        "Ports": [
          { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/GE0" },
          { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB0" },
          { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB1" }
        ]
      }
    }
  ]
}

评审点5:复用 Redfish 标准资源 Port(GE/UB网口),支持PATCH端口速率切换

资源URI :/redfish/v1/Chassis/SSU:id/NetworkAdapters/:NetworkAdapterId/Ports

资源版本 :PortCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :PortCollection资源的Members属性包含各Port的@odata.id引用;嵌套于NetworkAdapter资源的Ports属性中

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly Port集合成员列表
Members@odata.count integer 3 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#PortCollection.PortCollection",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports",
  "Name": "Port Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/GE0" },
    { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB0" },
    { "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB1" }
  ],
  "Members@odata.count": 3
}

资源URI :/redfish/v1/Chassis/SSU:id/NetworkAdapters/:NetworkAdapterId/Ports/:PortId

资源版本 :Port.v1_17_0(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name

嵌套资源 :本资源(Port)嵌套于PortCollection资源的Members属性中

Link资源 :

  1. 功能管理归属:Port隶属于NetworkAdapter,通过父级PortCollection路径体现归属
  2. 逻辑引用依赖:GE口通过 AssociatedMACAddresses 属性暴露MAC地址(数据来源为设备树GEPort节点的 bmc.dev.NetworkPort 接口,由带外NVMe-MI查询后更新)

端口速率切换(#449):通过PATCH ConfiguredSpeedGbps(v1_16_0, readonly=false)设置目标速率,无需OEM扩展。
ConfiguredSpeedGbps DMTF标准描述:“The speed to which this port is configured to train when autonegotiation is disabled.”(当自动协商禁用时,此端口配置的训练速率。)
PATCH不支持null清空配置。

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
AssociatedMACAddresses array,null [“aa:bb:cc:dd:ee:ff”] true 是 / ReadOnly 关联的MAC地址数组
ConfiguredSpeedGbps number,null 10 false 否 是 BasicSetting 当自动协商禁用时此端口配置的训练速率(Gbit/s),v1_16_0。不支持null清空配置

Get响应示例(GE口 GE0)

{
  "@odata.type": "#Port.v1_17_0.Port",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/GE0",
  "Id": "GE0",
  "Name": "SSU0 GE Port 0",
  "AssociatedMACAddresses": [
    "aa:bb:cc:dd:ee:ff"
  ],
  "ConfiguredSpeedGbps": 10
}

Get响应示例(UB口 UB0)

{
  "@odata.type": "#Port.v1_17_0.Port",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB0",
  "Id": "UB0",
  "Name": "SSU0 UB Port 0",
  "AssociatedMACAddresses": [],
  "ConfiguredSpeedGbps": 100
}

Get响应示例(UB口 UB1)

{
  "@odata.type": "#Port.v1_17_0.Port",
  "@odata.id": "/redfish/v1/Chassis/SSU0/NetworkAdapters/SSU0ModuleLOM0/Ports/UB1",
  "Id": "UB1",
  "Name": "SSU0 UB Port 1",
  "AssociatedMACAddresses": [],
  "ConfiguredSpeedGbps": 100
}

Patch请求示例(UB端口速率切换)

{
  "ConfiguredSpeedGbps": 25
}

评审点6:复用 Redfish 标准资源 Processor(SSU处理器)

资源URI :/redfish/v1/Systems/SSU:id/Processors

资源版本 :ProcessorCollection

Required属性 :@odata.id, @odata.type, Name, Members@odata.count

嵌套资源 :ProcessorCollection资源的Members属性包含各Processor的@odata.id引用;ProcessorCollection嵌套于ComputerSystem资源的Processors属性中

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members array [{@odata.id}] true 否 否 ReadOnly Processor集合成员列表
Members@odata.count integer 1 true 否 否 ReadOnly 成员数量

Get响应示例

{
  "@odata.type": "#ProcessorCollection.ProcessorCollection",
  "@odata.id": "/redfish/v1/Systems/SSU0/Processors",
  "Name": "Processor Collection",
  "Members": [
    { "@odata.id": "/redfish/v1/Systems/SSU0/Processors/1" }
  ],
  "Members@odata.count": 1
}

资源URI :/redfish/v1/Systems/SSU:id/Processors/:ProcessorId

资源版本 :Processor.v1_17_0(DMTF Schema)

Required属性 :@odata.id, @odata.type, Id, Name

嵌套资源 :本资源(Processor)嵌套于ProcessorCollection资源的Members属性中

Link资源 :

  1. 标准文档对标:Processor隶属于ComputerSystem,通过ProcessorCollection路径体现归属

属性列表 :

属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Oem.OpenBMC.Temperature number,null 45 true 是 / ReadOnly CPU温度,OEM扩展属性,OEM资源为openUBMCProcessor.v1_0_0

Get响应示例

{
  "@odata.type": "#Processor.v1_17_0.Processor",
  "@odata.id": "/redfish/v1/Systems/SSU0/Processors/1",
  "Id": "1",
  "Name": "SSU0 Processor 1",
  "Oem": {
    "OpenBMC": {
      "@odata.type": "#openUBMCProcessor.v1_0_0.Processor",
      "Temperature": 45
    }
  }
}

评审点7:新增 IPMI 命令执行SSU GE口平面切换

命令名称: SSU GE端口平面切换

命令说明: 切换SSU GE端口的平面,通过BMC带外NVMe-MI over MCTP下发到SSU。

命令权限: DiagnoseMgmt

是否锁定之后可以访问: 否

是否有敏感数据: 否

命令样式:

  • 请求:ipmitool raw 0x30 0x93 <ManufacturerID(3)> <SubCmd> <Reserved> <ParamSel> <SetSel> <BlockSel> <ExternSel> <WritingOffset(2)> <WritingLength> <Data>
  • 响应:<CompletionCode> <ManufacturerID(3)> <Result>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 93h(多节点命令)
1:3 Manufacturer ID,LB Byte first。长度固定3个字节
4 SubCmd,固定为 3Eh
5 Reserved,固定为 00h
6 Parameter Selector,固定为 1Dh(十进制29),表示GE口平面切换
7 Set Selector,GE口平面切换时为 SSU ID(如SSU0则为 00h)
8 Block Selector,GE口平面切换时为 GEPort ID
9 Extern Selector,1字节,bit1~bit7 reserved,bit0:0=last frame,1=cascade frame
10:11 Writing Offset
12 Writing Length
13:N Data,任意长度。对于GE口平面切换场景,通过Writing Length确定为1字节,表示目标平面标识

针对当前GE口平面切换场景:Parameter Selector=1Dh(29),Set Selector=SSU ID,Block Selector=GEPort ID(固定0),Writing Length=1,Data为1字节表示目标平面标识,Writing Offset=0。

命令响应参数:

字节顺序 域取值说明
1 Completion Code:00h = 命令响应成功;CCh = 命令入参超过支持范围;80h = 命令的长度和参数不匹配;81h = 通信失败;82h = 不支持的模式
2:4 Manufacturer ID,LB Byte first
5 Result:00h = 命令下发成功;01h = 命令下发失败

命令示例:

样例1:切换SSU0的GE0端口到平面1

  • 请求:ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x3e 0x00 0x1d 0x00 0x00 0x00 0x00 0x00 0x01 0x01
  • 响应:00 db 07 00 00

评审点8:新增 IPMI 命令获取SSU配置(GE口当前平面)

命令名称: 获取SSU配置(GE口当前平面)

命令说明: 获取SSU GE端口当前所在的平面。通过BMC带外NVMe-MI over MCTP下发到SSU查询。

命令权限: ReadOnly

是否锁定之后可以访问: 是

是否有敏感数据: 否

命令样式:

  • 请求:ipmitool raw 0x30 0x93 <ManufacturerID(3)> <SubCmd> <Reserved> <ParamSel> <SetSel> <BlockSel> <ExternSel> <ReadingOffset(2)> <ReadingLength>
  • 响应:<CompletionCode> <ManufacturerID(3)> <ExternSelector> <Data>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 93h(多节点命令)
1:3 Manufacturer ID,LB Byte first。长度固定3个字节
4 SubCmd,固定为 3Dh
5 Reserved,固定为 00h
6 Parameter Selector,固定为 1Dh(十进制29),表示获取GE口当前平面
7 Set Selector,获取GE口平面时为 SSU ID(如SSU0则为 00h)
8 Block Selector,获取GE口平面时为 GEPort ID
9 Extern Selector,1字节,bit1~bit7 reserved,bit0:0=last frame,1=cascade frame
10:11 Reading Offset
12 Reading Length

针对获取GE口当前平面场景:Parameter Selector=1Dh(29),Set Selector=SSU ID,Block Selector=GEPort ID(固定0),Reading Length=1,Reading Offset=0。

命令响应参数:

字节顺序 域取值说明
1 Completion Code:00h = 命令响应成功;CCh = 命令入参超过支持范围;80h = 命令的长度和参数不匹配;81h = 通信失败;82h = 不支持的模式
2:4 Manufacturer ID,LB Byte first
5 Extern Selector,1字节,bit1~bit7 reserved,bit0:0=last frame,1=cascade frame
6:N Data,GE口当前平面标识(1字节)

命令示例:

样例1:获取SSU0的GE0端口当前平面

  • 请求:ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x3d 0x00 0x1d 0x00 0x00 0x00 0x00 0x01
  • 响应:00 db 07 00 00 01

是否准备好AI预审

是

评审结论

  1. 复用Redfish标准资源Chassis管理SSU物理容器,实现电子标签属性(Manufacturer、SerialNumber、Model、PartNumber、PowerState、Status),支持GET查询SSU信息和PATCH设置定位灯,包含Drives、NetworkAdapters子资源链接,Links.Processors引用ComputerSystem下Processor资源并含count,属性具体描述见详细描述中的评审点1
  2. 复用Redfish标准资源ComputerSystem管理SSU计算系统,包含ProcessorSummary、MemorySummary、Processors、Memory、EthernetInterfaces、NetworkInterfaces、LogServices、Bios子资源,体现SSU与主机系统的组成关系,属性具体描述见详细描述中的评审点2
  3. 复用Redfish标准资源Drive管理SSU硬盘,实现OEM硬盘温度属性(Oem.OpenBMC.TemperatureCelsius,OEM资源openUBMCDrive.v1_0_0),属性具体描述见详细描述中的评审点3
  4. 复用Redfish标准资源NetworkAdapter管理SSU网卡,包含Ports链接和Controllers(其Links.Ports引用GE0/UB0/UB1),属性具体描述见详细描述中的评审点4
  5. 复用Redfish标准资源Port管理GE/UB网口,支持GET查询MAC地址和PATCH端口速率切换,属性具体描述见详细描述中的评审点5
  6. 复用Redfish标准资源Processor管理SSU处理器,实现OEM CPU温度属性(Oem.OpenBMC.Temperature,OEM资源openUBMCProcessor.v1_0_0),属性具体描述见详细描述中的评审点6
  7. 新增IPMI命令(NetFn 30h Cmd 93h SubCmd 3Eh Parameter Selector 1Dh)执行SSU GE口平面切换,命令格式见详细描述中的评审点7
  8. 新增IPMI命令(NetFn 30h Cmd 93h SubCmd 3Dh Parameter Selector 1Dh)获取SSU配置(GE口当前所在平面),命令格式见详细描述中的评审点8

遗留问题

  1. 光模块资源暂不添加
    答:Transceivers非标准资源,暂不加光模块资源。
  2. ConfiguredSpeedGbps属性描述
    答:UB口配置速率,标准资源描述为"当自动协商禁用时,此端口配置的训练速率"。PATCH接口不需要实现null清空配置,不支持该能力。
  3. Drive/网卡/端口资源属性待确认
    答:具体资源待与需求提出方确认,先明确能实现的属性,无法提供的不显示。
  4. SSU全称和缩写待确认
    答:ASU改为SSU,全称为Smart Storage Unit。
  5. IPMI命令扩展历史存储配置
    答:IPMI命令需扩展存储已有配置,整体格式不变。
  6. 新增IPMI命令归属仓库待确认
    答:新增的SSU相关IPMI命令(NetFn 30h Cmd 93h)放在storage仓。

预审答案内容由AI生成,仅供参考:

帖子评审结论:【待评审】支持通过redfish接口和web接口管理ASU定位灯

帖子相关性:相关(Redfish 相关: 帖子内容包含 ‘redfish’ 关键字)

  • 总评审点数:2
  • Redfish 相关评审点:1
  • 其他评审点:1

总体结果:通过(1/1 个评审点通过)

评审点 1:redfish接口扩展标准接口/redfish/v1/Chassis/:chassisid为/redfish/v1Chassis/ASU:id来管理ASU【Redfish】

结果:通过

  • URI 示例生成:通过
  • Schema 验证:通过(1 项通过,3 项警告)
    • Schema 来源:DMTF ✓,OEM ✗(实际参与校验:DMTF)
    • 入口 schema 文件:dmtf/Chassis.v1_26_0.json(DMTF 官方 schema(SchemaFiles/dmtf))
    • Schema 依据:静态校验直接依据:DMTF 官方 schema(SchemaFiles/dmtf)(dmtf/Chassis.v1_26_0.json)
  • 规则合规性检查:通过(18 项检查全部通过)