【已评审】新增SNMP Trap OID模式资源协作接口和北向接口评审

ISSUE链接

【需求】支持通过接口查询和配置SNMP Trap模式-rackmount-GitCode

评审背景

SNMP Trap报文当前仅支持精准告警模式,部分客户对OID模式存在诉求,需要新增OID模式

触发原因

新需求

决策点

一、新增接口

1. 新增资源协作接口属性:TrapMode

path:/bmc/kepler/EventService/Subscriptions/Snmp
interface:bmc.kepler.EventService.Subscriptions.Snmp
变化类型:新增属性
应用场景:客户需要通过snmp trap进行告警订阅时,选择不同的trap报文模式
详细描述:

属性名称 变化类型 签名 读写权限 持久化 默认值 变化通知 接口说明 接口约束
TrapMode 新增属性 y 读写
read:ReadOnly
write:BasicSetting
掉电持久化 2 false snmp trap报文模式 取值:
0:预留
1:OID模式
2:精准告警模式

二、历史接口相关属性说明

说明:SNMP Trap报文模式查询和设置已存在相关历史接口,openUBMC版本尚未实现,因此需要在openUBMC实现对应的北向接口,支持设置的模式仅为“OID模式”、“精准告警模式”两种。

1. redfish接口/redfish/v1/Managers/1/SnmpService 增加属性TrapMode

uri:/redfish/v1/Managers/1/SnmpService
变化类型:在SnmpTrapNotification下增加属性TrapMode
操作类型:GET/PATCH
应用场景:客户需要通过snmp trap进行告警订阅时,使用redfish接口查询和配置trap报文模式
详细描述:

属性名称 取值类型 说明 取值范围 操作权限 是否频繁变化 约束
TrapMode String SNMP Trap报文模式 “OID”
“PreciseAlarm
GET:ReadOnly
PATCH:BasicSetting

2. web_rest接口/UI/Rest/Maintenance/TrapNotification 增加属性Mode

变化类型:新增属性
操作类型:GET/PATCH
应用场景:客户需要通过snmp trap进行告警订阅时,使用WEB UI查询和配置trap报文模式
详细描述:

属性名称 取值类型 说明 取值范围 操作权限 约束
Mode String SNMP Trap报文模式 “OID”
“PreciseAlarm
GET:ReadOnly
PATCH:BasicSetting

3. cli接口增加mode参数

CLI命令:ipmcget -t trap -d mode
变化类型:新增参数
操作类型:Get
应用场景:客户需要通过snmp trap进行告警订阅时,使用cli接口查询trap报文模式

响应示例 响应说明 响应参数 取值类型 取值范围 约束
Trap mode : <mode> snmp trap报文模式 mode string OID
Precise Alarm

CLI命令:ipmcset -t trap -d mode -v <option>
变化类型:新增参数
操作类型:Set
应用场景:客户需要通过snmp trap进行告警订阅时,使用cli接口配置trap报文模式

参数名称 参数说明 取值类型 取值范围 约束
option snmp trap报文模式 integer 1:OID模式
2:精准告警模式

4. SNMP接口新增trapMode节点

SNMP OID:1.3.6.1.4.1.{{SnmpOemIdentifier}}.4.4.0
变化类型:新增OID节点
应用场景:客户需要通过snmp trap进行告警订阅时,使用snmp接口查询和配置trap报文模式
操作类型: GET/PATCH

OID 节点名称 取值类型 取值范围 读写操作 约束
1.3.6.1.4.1.{{SnmpOemIdentifier}}.4.4.0 trapMode integer 1:reserved
2:trapOidMode
3:trapPreciseAlarmMode
read-write

5. 新增定制化项Custom_Trap_Mode

应用场景:客户需要通过snmp trap进行告警订阅时,定制选择不同的trap报文模式
详细说明:

定制化项名称 定制化项 归属组件 取值说明 默认值 处理逻辑 说明 实现方式
定制snmp trap报文模式 Custom_Trap_Mode event_policy 1:OID模式
2:精准告警模式
2 if (Custom_Trap_Mode == 1)
设置trap报文模式为OID模式
elseif(Custom_Trap_Mode == 2 or Custom_Trap_Mode == 空)
设置trap报文模式为精准告警模式
else
设置失败
配置导入导出

6. 新增配置导入导出项TrapMode

应用场景:客户需要通过snmp trap进行告警订阅时,定制选择不同的trap报文模式
详细说明:

配置项名称 配置项类别 配置项 归属组件 取值说明 导入导出类型 导出后是否可直接导入
snmp trap报文模式 服务配置类 TrapMode event_policy 1:OID模式
2:精准告警模式
ImportAndExport

评审结论

决策点一:同意资源协作接口新增属性,用于标识snmp trap报文模式,具体如下:

path:/bmc/kepler/EventService/Subscriptions/Snmp

interface:bmc.kepler.EventService.Subscriptions.Snmp

新增属性名称:TrapMode

签名:y

读写权限:read:ReadOnly,write:BasicSetting

持久化类型:掉电持久化

接口说明:snmp trap报文模式,不发送变更通知事件,取值 0:预留,1:OID模式,2:精准告警模式

默认值:2

决策点二:历史接口说明

1. 同意redfish接口新增属性支持用户查询和设置snmp trap报文模式

具体如下:

uri:/redfish/v1/Managers/1/SnmpService

变化类型:在SnmpTrapNotification下新增属性TrapMode

操作类型:GET/PATCH

操作权限:GET:ReadOnly,PATCH:BasicSetting

取值范围:“OID”,“PreciseAlarm”

2. 同意webrest接口新增属性支持用户查询和设置snmp trap报文模式

具体如下:

uri:/UI/Rest/Maintenance/TrapNotification

变化类型:新增属性Mode

操作类型:GET/PATCH

操作权限:GET:ReadOnly,PATCH:BasicSetting

取值范围:“OID”,“PreciseAlarm”

3. 同意cli接口增加命令支持用户查询和设置snmp trap报文模式

命令:ipmcget -t trap -d mode

操作类型:Get

回显格式:Trap mode : <mode>

参数说明:

mode - 字符串类型,取值范围:OID 、Precise Alarm

命令:ipmcset -t trap -d mode -v <option>

操作类型:Set

参数说明:

option - 整数类型,取值范围:1:OID模式 2:精准告警模式

4. 同意新增SNMP接口支持用户查询和设置snmp trap报文模式

SNMP OID:1.3.6.1.4.1.{{SnmpOemIdentifier}}.4.4.0

变化类型:新增OID节点

节点名称:trapMode

取值类型:integer

取值范围:1:reserved 2:trapOidMode 3:trapPreciseAlarmMode

读写操作:read-write

5. 同意新增定制化项支持出厂定制snmp trap报文模式

定制化项:Custom_Trap_Mode

取值范围:1:OID模式 2:精准告警模式

处理逻辑:

if (Custom_Trap_Mode == 1)
设置trap报文模式为OID模式
elseif(Custom_Trap_Mode == 2)
设置trap报文模式为精准告警模式
else
设置失败

默认值:2

6. 同意新增配置导入导出支持用户设置snmp trap报文模式

配置项名称:TrapMode

取值范围:1:OID模式 2:精准告警模式

导入导出类型:ImportAndExport

导出后是否可直接导入:是

1 个赞