【已评审】主备管理新增资源树协作接口

关联Issuse
支持BMC设备升主能力
评审背景
需求

  • 新增主备管理功能,需要提供资源协作接口用于查询/倒换主备状态

差距
当前未实现主备管理功能,无资源协作接口承载相关功能
评审点

评审点一

path /bmc/kepler/Managers/:ManagerId/LocalActiveStandbyMgmt
interfacebmc.kepler.Managers.ActiveStandbyMgmt

背景说明

增加本板对象,主要用于写寄存器以及查询本板的主备状态等

名称 数据类型 读写权限 持久化 信号 说明
SlotId y ro 槽位Id
CSR配置
Presence y ro 在位状态(0:不在位 1:在位)
CSR配置
ActiveStandbyStatus y rw 软件主备状态(0:主 1:备)
由组件更新

私有属性

属性名称 类型 读写权限 持久化 信号 说明
HwActiveStandbyStatus y rw 硬件主备状态(0:主 1:备)
CSR配置
StandbyToActiveAccessor y rw 升主寄存器
CSR配置
ActiveToStandbyAccessor y rw 降备寄存器
CSR配置
StandbyToActiveWriteProtect y rw 升主写保护寄存器
CSR配置
ActiveToStandbyWriteProtect y rw 降备写保护寄存器
CSR配置

方法

切换主备状态 获取主备状态
方法名 SwitchAsStatus GetAsStatus
请求签名 s -
请求说明 RequestCause:请求原因 -
响应签名 ss y
响应说明 ReturnCode:返回码
ReturnMsg:返回信息
Status:主备状态

评审点二

path /bmc/kepler/Managers/:ManagerId/RemoteActiveStandbyMgmt/:Id
interfacebmc.kepler.Managers.RemoteActiveStandbyMgmt

背景说明

增加对板对象,提供对板状态信息查询

属性名称 类型 读写权限 持久化 信号 说明
ActiveStandbyStatus y rw 主备状态(0:主 1:备)
由组件进行更新
SlotId y ro 槽位Id
CSR配置
Presence y ro 在位状态(0:不在位 1:在位)
CSR配置
CommunicationIP s ro 通信Ip
CSR配置
CommunicationPort q ro 通信端口
CSR配置
CommunicationStatus y ro 通信状态(0:异常 1:正常)
CSR配置

方法

切换主备状态 获取主备状态 查询健康状态
方法名 SwitchAsStatus GetAsStatus GetHealthStatus
请求签名 s - -
请求说明 RequestCause:请求原因 - -
响应签名 ss y y
响应说明 ReturnCode:返回码
ReturnMsg:返回信息
Status:主备状态 Status:健康状态

评审点三

私有对象 SwitchOverRules(主备切换条件)

背景说明

指可以通过模型进行配置的切换条件,针对的是对于产品来说静态的可以直接在模型中配置的数据或者是动态的但是可以通过其他资源协作接口等方式配置出来的条件

属性名称 类型 读写权限 持久化 信号 说明
SwitchType y ro 条件类型(0: 允许切换条件 1:禁止切换条件)
CSR配置
Threshold y ro 主备切换条件的门限值
CSR配置
Reading y ro 主备切换条件的输入值
CSR配置
Operator y ro 主备切换条件的运算符
1:大于
2:大于等于
3:小于
4:小于等于
5:等于
6:不等于
CSR配置
Direction y ro 主备切换的方向(0:无操作 1:降备 2:升主)
CSR配置
Description s ro 主备切换条件匹配之后的描述值
CSR配置

评审点四

私有对象

对象名ActiveStandbyHeartBeat(备选HealthMaintenance)

背景说明

通过一直写心跳寄存器来告知硬件需要参与主备的状态冲裁,检测周期等需要支持配置

path/bmc/kepler/Managers/:ManagerId/LocalActive
interfacebmc.kepler.Manager.LocalActive

属性名称 类型 读写权限 持久化 信号 说明
HeartbeatStatus y ro BMC的主备心跳状态(0:丢失 1:正常)
由组件进行更新

私有属性

属性名称 类型 读写权限 持久化 信号 说明
HeartbeatInterval q ro 主备心跳检测周期(毫秒)
CSR配置
HeartbeatAccessor y rw 硬件主备心跳的Accessor
CSR配置
HeartbeatThreshold q ro 主备心跳的预警门限(毫秒)
CSR配置

评审结论
不通过,当前方案不明确,需要进行方案评审之后再行进行接口评审

  1. 资源协作接口不要横表,不然有些内容展示不全,展示采用纵表的方式
  2. 主备切换允许接口和禁止接口完全一致,是否可以归一
  3. 当前评审内容较多,各个评审点汇聚一下,准备好每个评审点的背景
    @spjisgood_2lbdb 请关注上述问题

每个接口的属性要明确详细的功能以及使用说明,包括但不限于:
HeartbeatAccessor 等硬件信号接口,要明确是CSR配置,是否可以读写还是只读
HeartbeatStatus 等软件状态接口,是组件直接软件更新还是需要硬件获取