【待评审】新增全局属性表示系统上下电状态、槽位号,新增方法支持更新电子标签信息

背景

  1. 新需求要求提供全局属性支持系统上下电状态;
  2. 框式设备CSR中单板告警信息等多个场景需要显示槽位号,因此需要增加单板槽位号作为全局变量,使得单板多个CSR可以引用槽位号;
  3. 主备倒换场景,当前机框的CSR仅主板加载,备板上存在Eeprom电子标签,备板变成主板后需要重新从Eeprom获取一下电子标签信息,需要frudata组件提供RPC方法更新电子标签。

关联ISSUE

整体方案

  1. 新增资源协作接口bmc.kepler.Global.Systems.FruCtrl,在该接口下新增全局属性表示系统上下电状态
  2. 新增资源协作接口bmc.kepler.Global.Managers.NodeLocation,在该接口下新增全局属性表示槽位号
  3. 新增资源协作接口方法支持更新电子标签信息

评审点

  1. 新增资源协作接口bmc.kepler.Global.Systems.FruCtrl,在该接口下新增全局属性表示系统上下电状态
  2. 新增资源协作接口bmc.kepler.Global.Managers.NodeLocation,在该接口下新增全局属性表示槽位号
  3. bmc.kepler.FrudataService.Frudata接口新增UpdateFruData方法支持更新电子标签信息

详细描述

评审点1:新增资源协作接口bmc.kepler.Global.Systems.FruCtrl,在该接口下新增全局属性表示系统上下电状态

资源path:/bmc/kepler/Global
接口描述:用于承载上下电相关全局属性

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性 更新者 使用场景
SystemPowerOnStatus U32 true true 上下电状态,每个bit代表一个系统的上下电状态,例如,bit 0代表系统1的状态,以此类推。
每个bit取值:
0-下电,1-上电,默认值为0
Read: ReadOnly 软件刷新 保留内存 false fructrl 1. CSR中告警检测
2. Scanner扫描、Entity状态更新

评审点2:新增资源协作接口bmc.kepler.Global.Managers.NodeLocation,在该接口下新增全局属性表示槽位号

资源path:/bmc/kepler/Global
接口描述:用于承载上下电相关全局属性

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性 更新者 使用场景
LocationId U8 false true 当前节点的槽位号,通过计算之后反写,默认0 Read: ReadOnly
Write: BasicSetting
CSR配置 保留内存 false bmc_network 用于表示当前节点的槽位号

评审点3:bmc.kepler.FrudataService.Frudata接口新增UpdateFruData方法支持更新电子标签信息

资源path:/bmc/kepler/Systems/:SystemId/FruDatas/:Id

方法评审点

方法名称 请求签名 请求参数描述 响应签名 响应参数 方法描述 访问权限 约束
UpdateFruData a{ss}ay FruId:电子标签对象的ID列表 - - 更新全部或指定的电子标签信息 BasicSetting

是否准备好AI预审

评审结论

遗留问题

1、SystemPowerOnStatus 就叫系统上下电状态吧,不要添加“使能”误导概念
2、SystemPowerOnStatus 若为软件刷新而来,为什么是只读?确认写权限是什么?
3、LocationId 若确认方案为由 csr 配置刷新,是否保证只读即可?