背景
NPU参数面光模块出现闪断等故障时,运维人员需要将光模块隔离关断,进行光链路维修,将NPU光模块指示灯熄灭,需要BMC提供Redfish接口对光模块进行点灯逻辑操作;
关联ISSUE
无
整体方案
- 运维人员通过Redfish接口强制关闭NPU光模块指示灯,进行光模块和光链路检修;
- 运维人员通过Redfish接口恢复NPU光模块指示灯原状态;
评审点
- Redfish光模块资源新增Action支持控制NPU参数面光模块点灯状态;
- 新增资源协作接口支持控制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
遗留问题
- 接口文档和schema需要说明清楚是什么指示灯;
结论:已增加说明是link/active灯; - 资源协作接口方法名称考虑新增灯类型如何扩展;
结论:方法SetState修改为SetActiveLedState,后续扩展考虑新增方法实现; - 单机运维操作是否需要考虑web人机接口;
结论:应客户要求,发生故障后在网管侧对单机进行操作; - 权限确认是否需要修改;
结论:参考机框点灯操作的权限,使用BasicSetting;