背景
- 新需求要求提供全局属性支持系统上下电状态;
- 框式设备CSR中单板告警信息等多个场景需要显示槽位号,因此需要增加单板槽位号作为全局变量,使得单板多个CSR可以引用槽位号;
- 主备倒换场景,当前机框的CSR仅主板加载,备板上存在Eeprom电子标签,备板变成主板后需要重新从Eeprom获取一下电子标签信息,需要frudata组件提供RPC方法更新电子标签。
关联ISSUE
整体方案
- 新增资源协作接口bmc.kepler.Global.Systems.FruCtrl,在该接口下新增全局属性表示系统上下电状态
- 新增资源协作接口bmc.kepler.Global.Managers.NodeLocation,在该接口下新增全局属性表示槽位号
- 新增资源协作接口方法支持更新电子标签信息
评审点
- 新增资源协作接口bmc.kepler.Global.Systems.FruCtrl,在该接口下新增全局属性表示系统上下电状态
- 新增资源协作接口bmc.kepler.Global.Managers.NodeLocation,在该接口下新增全局属性表示槽位号
- 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预审
否