【已评审】新增资源树属性RecordId,用于表示BMC本次启动前已上报的事件记录标识

关联issue

新增资源树属性RecordId,用于表示已上报事件的事件记录标识

背景

旧版本redfish事件上报采用event_policy组件通知redfish组件方式(已上报的事件记录序号RecordId存储在event_policy),新版本事件上报功能不再采用通知机制,完全由redfish组件从event组件获取事件后进行上报(已上报的事件记录序号RecordId存储在redfish,并且未从event_policy同步)。从旧版本升级到新版本存在首次升级后会有重复事件上报的问题。

决策点

新增资源树属性RecordId,用于显示已上报event类型的事件记录标识

整体方案


说明

  1. 当redfish组件的数据库中,RecordId为0时才会获取资源树的RecordId
  2. 多次获取资源树RecordId的上限为50次,每次睡眠3s。若超过上限仍获取资源树RecordId失败,则不再获取未上报事件,进入下一步:监听事件上报信息。
  3. 为了防止重复上报,需要在获取未上报事件后,再监听事件上报信息。所以无法一直获取资源树RecordId
  4. 多次获取资源树RecordId的上限(50次,每次睡眠3s)根据启动时间规格确定,超上限时已经超过启动时间规格。

详细描述

资源path:/bmc/kepler/EventService/Event
资源interface:bmc.kepler.EventService.Event
变化类型:新增属性 RecordId
应用场景:表示BMC本次启动前已上报的事件记录标识
持久化类型: 不持久化
操作权限:ReadOnly
详细描述:

属性名称 取值类型 变化类型 读写&权限 持久化 变化通知 接口说明
RecordId U64 新增属性 R:ReadOnly false 表示BMC本次启动前已上报的事件记录标识

评审结论

同意bmc.kepler.EventService.Event接口新增属性RecordId,类型为U64,表示BMC本次启动前已上报的事件记录标识