【已评审】新增Redfish和资源协作接口支持控制NPU参数面光模块Active指示灯状态

背景

NPU参数面光模块出现闪断等故障时,运维人员需要将光模块隔离关断,进行光链路维修,将NPU光模块指示灯熄灭,需要BMC提供Redfish接口对光模块进行点灯逻辑操作;

关联ISSUE

整体方案

  1. 运维人员通过Redfish接口强制关闭NPU光模块指示灯,进行光模块和光链路检修;
  2. 运维人员通过Redfish接口恢复NPU光模块指示灯原状态;

评审点

  1. Redfish光模块资源新增Action支持控制NPU参数面光模块点灯状态;
  2. 新增资源协作接口支持控制NPU参数面光模块点灯状态;

详细描述

1. 光模块资源新增Action

资源URI/redfish/v1/Chassis/:chassis_id/Transceivers/:transceivers_id/Actions/Transceiver.ControlIndicatorLED

/redfish/v1/Chassis/:chassis_id/NetworkAdapters/:networkadapteras_id/NetworkPorts/:networkports_id/OpticalModule/Actions/OpticalModule.ControlIndicatorLED
资源版本
HwOpticalModule.v1_0_0
HwTransceiver.v1_0_0
操作权限BasicSetting
输入参数

参数名 类型 必填 示例/取值约束 描述
IndicatorLED string 枚举值:
ForceOff: 强制灭灯
Resume: 恢复原状态
光模块Active指示灯控制状态

ActionInfo/redfish/v1/Chassis/:chassis_id/Transceivers/:transceivers_id/ControlIndicatorLEDActionInfo

/redfish/v1/Chassis/:chassis_id/NetworkAdapters/:networkadapteras_id/NetworkPorts/:networkports_id/OpticalModule/ControlIndicatorLEDActionInfo

Schema定义

"Transceiver.ControlIndicatorLED": {
      "IndicatorLED": {
        "type": "string",
        "enum": [
          "ForceOff",
          "Resume"
        ]
      },
    },
"OpticalModule.ControlIndicatorLED": {
      "IndicatorLED": {
        "type": "string",
        "enum": [
          "ForceOff",
          "Resume"
        ]
      },
    }

2. 新增资源协作接口 bmc.kepler.Systems.OpticalModule.Led

对应Path:/bmc/kepler/Systems/:SystemID/NetworkAdapters/:ID/Ports/:ID/OpticalModule

属性评审点

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
LEDControlSupported b True false 是否支持LED管理 Read: ReadOnly CSR false

方法评审点

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetActiveLedState y State: Active LED灯状态
1:强制灭灯
2:恢复原状态
设置光模块Active LED灯状态 BasicSetting

Redfish接口根据LEDControlSupported属性控制是否展示Action资源,业务光模块访问该资源时返回标准错误ActionNotSupported

评审结论

1、同意光模块资源新增如下Action用于控制光模块Active灯的状态:
uri: /redfish/v1/Chassis/:chassis_id/Transceivers/:transceivers_id/Actions/Transceiver.ControlIndicatorLED

操作类型:POST
操作权限:BasicSetting
请求参数:IndicatorLED,类型为string,表示光模块Active指示灯的状态;

原光模块信息的uri逐渐废弃,不再新增Action
/redfish/v1/Chassis/:chassis_id/NetworkAdapters/:networkadapteras_id/NetworkPorts/:networkports_id/OpticalModule/Actions/OpticalModule.ControlIndicatorLED

2、同意新增资源协作接口 bmc.kepler.Systems.OpticalModule.Led
path:/bmc/kepler/Systems/:SystemID/NetworkAdapters/:ID/Ports/:ID/OpticalModule
interface:bmc.kepler.Systems.OpticalModule.Led

属性

  • LEDControlSupported,签名为b,只读,读权限ReadOnly

方法

  • SetActiveLedState,请求签名为y,无响应签名,权限为BasicSetting

遗留问题

  1. 接口文档和schema需要说明清楚是什么指示灯;
    结论:已增加说明是link/active灯;
  2. 资源协作接口方法名称考虑新增灯类型如何扩展;
    结论:方法SetState修改为SetActiveLedState,后续扩展考虑新增方法实现;
  3. 单机运维操作是否需要考虑web人机接口;
    结论:应客户要求,发生故障后在网管侧对单机进行操作;
  4. 权限确认是否需要修改;
    结论:参考机框点灯操作的权限,使用BasicSetting;