背景
支持机柜资产管理,机柜管理板需要通过内网将机柜内设备进行纳管,用户、网管等可以通过Web、Cli、Redfish相关接口获取资产信息
整体方案
-
定制化相关机柜信息、电源框等信息,通过ipmi命令在装备流程中写入背板eeprom。
(1) 两总线场景管理没有内网通行,不需要进行节点纳管
-
向节点发送携带证书的/redfish/v1/SessionService/Sessions获取token数据
-
柜上环境,管理板通过使用内网ip向节点发送https://IP/redfish/v1接口
-
批量处理响应报文,将解析到的U位信息刷新到树上资源,并提供对外展示接口
-
通过板间通信获取节点能效电源功耗封顶相关信息,并将这些信息上树提供给能效功耗封顶使用,同时提供资源树操作方法支持对节点进行功耗封顶设置
评审点
1、 “RackNetMgmt” 新增私有对象和属性
2、“Unit”新增私有属性
3、“Device” 新增私有属性
详细描述
1、 “RackNetMgmt” 新增私有对象和属性
资源path:私有资源
资源interface:私有资源
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| InnerIpv4Base | 新增属性 | y | R:ReadOnly | 不持久化 | false | 内网IP的偏移基准 | 例:128.0.0.N + SlotId(N为偏移基准;SlotId为节点槽位号) |
2、“RackUnit”新增私有对象和属性
资源path:/bmc/kepler/Racks/:rack_id/RackAssetMgmt/Unit/:unit_id
资源interface:bmc.kepler.Rack.RackAssetMgmt.Unit
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| ResourceID | 新增属性 | y | R:ReadOnly | 不持久化 | false | U位资源ID | 从靠近主控端开始的偏移值: 以6U为例, 数值可为1~6 |
| TagState | 新增属性 | y | R:ReadOnly | 不持久化 | false | U位对应的标签状态 | 0, 无标签;1, 正常读取到标签;2, 有标签但读异常;3, 有标签但写异常 |
| LastSerialNumber | 新增属性 | s | R:ReadOnly | 掉电持久化 | false | U位上一次识别到设备的序列号 | |
| LastPresentTimeStamp | 新增属性 | u | R:ReadOnly | 复位持久化 | false | 最近一次在位时间,下架时间 |
3、“RackDevice” 新增私有对象和属性
资源path:/bmc/kepler/Racks/:rack_id/RackAssetMgmt/Unit/:unit_id/Device/:device_id
资源interface:bmc.kepler.Rack.RackAssetMgmt.Unit.Device
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| RefRackUnit | 新增属性 | s | R:ReadOnly | 不持久化 | false | 归属的U位对象名 | |
| MaxRetryTimes | 新增属性 | y | R:ReadOnly | 不持久化 | false | 和设备通信失败时的最大重试次数 | |
| HeartBeatLastRespondTimeStamp | 新增属性 | u | R:ReadOnly | 不持久化 | false | 设备心跳最近一次响应的时间 |
评审结论
1、同意新增RackNetMgmt类及相关属性用于访问节点
2、同意新增RackUnit类及相关属性用于表示U位信息数据
3、同意新增RackDevice类及相关属性用于表示设备信息数据
遗留问题
1、innerIpBase 接口说明详述 -- 已整改
2、bmc_network中基地址是否能够复用 -- 已联合专家评审,评审结论:同意增加innerIpv4Base
3、Unit、Device对象名增加Rack前缀 -- 已整改
4、TagStatus属性名调整为TagState -- 已整改
5、LastPresentTime、HeartBeatLastRecvTime的属性名增加时间戳后缀Stamp -- 已整改
6、RefRackUnit接口说明调整:对象->对象名 -- 已整改
7、HeartBeatLastRecvTimeStamp调整为HeartBeatLastRespondTimeStamp -- 已整改