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
导出后是否可直接导入:是