背景
支持机柜资产管理,机柜管理板需要通过内网将机柜内设备进行纳管,用户、网管等可以通过Web、Cli、Redfish相关接口获取资产信息
历史机柜的功耗封顶功能和机柜资产管理代码耦合在一起。在组件化后,功耗封顶功能和资产管理功能分开,机柜管理组件需要对外提供各节点功耗信息属性以及各节点的功耗封顶下发资源协作接口,供能效子系统功耗封顶使用
整体方案
-
定制化相关机柜信息、电源框等信息,通过ipmi命令在装备流程中写入背板eeprom。
(1) 两总线场景管理没有内网通信,不需要进行节点纳管
-
向节点发送携带证书的/redfish/v1/SessionService/Sessions获取token数据
-
柜上环境,管理板通过使用内网ip向节点发送https://IP/redfish/v1接口
-
批量处理响应报文,将解析到的U位信息刷新到树上资源,并提供对外展示接口
-
通过板间通信获取节点能效电源功耗封顶相关信息,并将这些信息上树提供给能效功耗封顶使用,同时提供资源树操作方法支持对节点进行功耗封顶设置
评审点
新增资产管理相关资源协作接口
1. path: /bmc/kepler/Chassis/:ChassisId/RackAssetService/
interface: bmc.kepler.Chassis.Location
bmc.kepler.Chassis.Location.PlaceMent
bmc.kepler.Chassis.Location.PostalAddress
bmc.kepler.Chassis.RackSpecification
bmc.kepler.Chassis.RackAsset
bmc.kepler.Chassis.UnitSpecification
2. path: /bmc/kepler/Chassis/:ChassisId/RackAssetService/:Id/RackOffsets/:Id
interface: bmc.kepler.Chassis.RackAsset.Unit
3. path: /bmc/kepler/Chassis/:ChassisId/RackAssetService/:Id/RackOffsets/:Id/MountedDevices/:Id
interface: bmc.kepler.Chassis.RackAsset.Unit.Device
-
预期结构:
Service bmc.kepler.rack_mgmt: └─/bmc └─/bmc/kepler └─/bmc/kepler/Chassis └─/bmc/kepler/Chassis/1 └─/bmc/kepler/Chassis/1/RackAssetService/ └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets ├─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_1 │ └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_1/MountedDevices │ ├─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_1/MountedDevices/MountedDevice_1 │ └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_1/MountedDevices/MountedDevice_2 └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_2 └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_2/MountedDevices ├─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_2/MountedDevices/MountedDevice_1 └─/bmc/kepler/Chassis/1/RackAssetService/RackOffsets/RackOffset_2/MountedDevices/MountedDevice_2
详细描述
1、Location
资源interface:bmc.kepler.Chassis.Location
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| CustomLocation | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜自定义位置信息 |
资源interface:bmc.kepler.Chassis.Location.Placement
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| Room | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜部署位置:房间号 | |
| Row | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜部署位置:排 | |
| Rack | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜部署位置:柜 |
资源interface:bmc.kepler.Chassis.Location.PostalAddress
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| Country | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:国家 | |
| Territory | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:省/州 | |
| City | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:城市 | |
| Street | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:街道 | |
| HouseNumber | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:门牌号 | |
| Name | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:单位 | |
| PostalCode | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜地理位置:邮编 | |
| Building | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜部署位置:楼 | |
| Floor | 新增属性 | s | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜部署位置:层 |
2、RackSpecification
资源interface:bmc.kepler.Chassis.RackSpecification
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| LoadCapacityKg | 新增属性 | u | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜承重重量(单位:Kg) | |
| RatedPowerWatts | 新增属性 | u | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 整柜额定功耗(单位:W) | |
| DepthMm | 新增属性 | u | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜深度:mm(毫米) | |
| WidthMm | 新增属性 | u | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜宽度:mm(毫米) | |
| HeightMm | 新增属性 | u | R:ReadOnly W:BasicSetting | 掉电持久化 | false | 机柜高度:mm(毫米) | |
| RackModel | 新增属性 | s | R:ReadOnly | 掉电持久化 | false | 机柜型号 | |
| RackSerialNumber | 新增属性 | s | R:ReadOnly | 掉电持久化 | false | 空机柜SN | 空机柜:不包含计算节点、交换节点的机柜 |
| FullFilledRackSerialNumber | 新增属性 | s | R:ReadOnly | 掉电持久化 | false | 机柜典配SN | 典配机柜:包含计算节点、交换节点、电源、液冷管/线的机柜 |
3、RackAsset
资源path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
资源interface:bmc.kepler.Chassis.RackAsset
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| ServiceEnabled | 新增属性 | b | R:ReadOnly | 不持久化 | false | 资产管理服务的可用状态 | false:资产管理功能不可用,初始状态、资产条拔出时的状态true:资产管理功能可用,完成第一轮标签扫描和信息获取后的状态 |
| RackFunction | 新增属性 | y | R:ReadOnly W:BasicSetting | 不持久化 | false | 机柜用途 | 0:计算柜1:网络柜默认值为0 |
| CabinetBusType | 新增属性 | y | R:ReadOnly | 不持久化 | false | 机柜总线类型 | 0:三总线1:两总线默认值为0 |
4、RackOffsetSpecification
资源interface:bmc.kepler.Chassis.RackOffsetSpecification
变化类型:新增
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| RackOffsetCountOccupy | 新增属性 | y | R:ReadOnly | 不持久化 | false | 已被占用的U位数 | |
| RackOffsetOccupyDirection | 新增属性 | y | R:ReadOnly | 不持久化 | false | U位占用方向 | 0:占用方向向下(自上而下插入节点)1:占用方向向上(自下而上插入节点) 默认值为0 |
| RackOffsetIndexDirection | 新增属性 | y | R:ReadOnly | 不持久化 | true | U位编号方向 | 0:自下而上编号1:自上而下编号默认值为0 |
| RackOffsetIndexDirectionFixed | 新增属性 | b | R:ReadOnly | 不持久化 | false | U位编号方向是否固定 | |
| RackOffsetCount | 新增属性 | y | R:ReadOnly | 不持久化 | true | U位总数 | 对于物理资产定位条的情况该属性由资产定位条U位加载刷新对于网络管理的情况需要生产定制化或用户修改,再根据该属性控制U位加载 |
5、Unit
资源path:/bmc/kepler/Chassis/:ChassisId/RackAssetService/RackOffsets/:id
资源interface:bmc.kepler.Chassis.RackAsset.Unit
变化类型:新增
应用场景:用于记录U位相关资产信息
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| UnitIndex | 新增属性 | y | R:ReadOnly | 不持久化 | true | U位编号 | |
| DeviceDetected | 新增属性 | b | R:ReadOnly | 复位持久化 | true | U位是否检测到标签 | |
| Status | 新增属性 | u | R:ReadOnly | 掉电持久化 | true | U位相关告警产生状态 | |
| DeviceMaxHeight | 新增属性 | y | R:ReadOnly | 不持久化 | false | 允许设备的最大高度(单位:U) | |
| DiscoveredTime | 新增属性 | u | R:ReadOnly | 复位持久化 | false | 上架时间 |
6、Device
资源path:/bmc/kepler/Chassis/:ChassisId/RackAssetService/RackOffsets/:id/MountedDevices/:id
资源interface:bmc.kepler.Chassis.RackAsset.Unit.Device
变化类型:新增
应用场景:用于记录U位中对应设备相关信息
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| DiscoveredStatus | 新增属性 | y | R:ReadOnly W:BasicSetting | 复位持久化 | true | 设备被发现(上线)标志 | 0:未开始发现设备1:设备已上线2:设备未上线 默认值为0 |
| MgmtIpv4Addr | 新增属性 | as | R:ReadOnly W:BasicSetting | 复位持久化 | false | IPv4地址 | |
| MgmtIpv6Addr | 新增属性 | as | R:ReadOnly W:BasicSetting | 复位持久化 | false | IPv6地址 | |
| AssetOwner | 新增属性 | s | R:ReadOnly W:BasicSetting | 不持久化 | false | 资产所有人 | |
| Model | 新增属性 | s | R:ReadOnly W:BasicSetting | 不持久化 | false | 设备型号 | |
| WeightKg | 新增属性 | u | R:ReadOnly W:BasicSetting | 不持久化 | false | 设备重量(单位:kg) | |
| LifeCycleYear | 新增属性 | s | R:ReadOnly W:BasicSetting | 不持久化 | false | 设备设计生命周期(单位:年) | |
| RatedPowerWatts | 新增属性 | u | R:ReadOnly W:BasicSetting | 不持久化 | false | 设备额定功耗(单位:W) | |
| CheckInTime | 新增属性 | s | R:ReadOnly W:BasicSetting | 不持久化 | false | 首次使用时间 | 格式为"YYYY/MM/DD" |
| ExtendField | 新增属性 | s | R:ReadOnly W:BasicSetting | 不持久化 | false | 扩展域数据:JSON字符串,最大支持5个子属性字段;用于存储自定义数据 | |
| TokenAvailable | 新增属性 | b | R:ReadOnly W:BasicSetting | 不持久化 | true | Token可用状态 | false:无效true:有效,当从true变为false时需上报Token失效事件 默认值为false |
| IsAutoDiscoveried | 新增属性 | b | R:ReadOnly W:BasicSetting | 复位持久化 | false | 设备是否由机柜管理单元自动发现 |
评审结论
通过,具体结论如下:
-
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface: bmc.kepler.Chassis.Location
新增属性:
CustomLocation:机柜自定义位置信息,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface: bmc.kepler.Chassis.Location.PlaceMent
新增属性:
Room:机柜部署位置:房间号,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Row:机柜部署位置:排,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Rack:机柜部署位置:柜,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface: bmc.kepler.Chassis.Location.PostalAddress
新增属性:
Country:机柜地理位置:国家,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Territory:机柜部署位置:省/州,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
City:机柜部署位置:城市,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Street:机柜部署位置:街道,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
HouseNumber:机柜部署位置:门牌号,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Name:机柜部署位置:单位,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
PostalCode:机柜部署位置:邮编,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Building:机柜部署位置:楼,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
Floor:机柜部署位置:层,签名为 s,读权限: ReadOnly,写权限:BasicSetting,掉电持久化 -
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface: bmc.kepler.Chassis.Location 新增属性:
LoadCapacityKg:机柜承重重量(单位:Kg),签名为 u,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
RatedPowerWatts:整柜额定功耗(单位:W),签名为 u,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
DepthMm:机柜深度:mm(毫米),签名为 u,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
WidthMm:机柜宽度:mm(毫米),签名为 u,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
HeightMm:机柜高度:mm(毫米),签名为 u,读权限: ReadOnly,写权限:BasicSetting,掉电持久化
RackModel:机柜型号,签名为 s,读权限: ReadOnly,掉电持久化
RackSerialNumber:空机柜SN,签名为 s,读权限: ReadOnly,掉电持久化
FullFilledRackSerialNumber:机柜典配SN,签名为 s,读权限: ReadOnly,掉电持久化 -
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface:bmc.kepler.Chassis.RackAsset
新增属性:
ServiceEnabled:资产管理服务的可用状态,签名为 b,读权限: ReadOnly,不持久化
RackFunction:机柜用途,签名为 y,读权限: ReadOnly,写权限:BasicSetting,不持久化
CabinetBusType:机柜总线类型,签名为 y,读权限: ReadOnly,不持久化 -
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService
interface:bmc.kepler.Chassis.RackOffsetSpecification
新增属性:
RackOffsetCountOccupy:已被使用的U位数,签名为 y,读权限: ReadOnly,不持久化
RackOffsetOccupyDirection:U位占用方向,签名为 y,读权限: ReadOnly,不持久化
RackOffsetIndexDirection:U位编号方向,签名为 y,读权限: ReadOnly,不持久化,发送变化通知
RackOffsetIndexDirectionFixed:U位编号方向是否固定,签名为 b,读权限: ReadOnly,不持久化
RackOffsetCount:U位总数,签名为 y,读权限: ReadOnly,不持久化,发送变化通知 -
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService/RackOffsets/:id
interface:bmc.kepler.Chassis.RackAsset.Unit
新增属性:
UnitIndex:U位编号,签名为 y,读权限: ReadOnly,不持久化,发送变化通知
DeviceDetected:U位是否检测到标签,签名为 b,读权限: ReadOnly,复位持久化,发送变化通知
Status:U位相关告警产生状态,签名为 u,读权限: ReadOnly,掉电持久化,发送变化通知
DeviceMaxHeight:允许设备的最大高度(单位:U),签名为 y,读权限: ReadOnly,不持久化
DiscoveredTime:上架时间,签名为 u,读权限: ReadOnly,复位持久化 -
同意新增资源协作接口及属性
path:/bmc/kepler/Chassis/:ChassisId/RackAssetService/RackOffsets/:id/MountedDevices/:id
interface:bmc.kepler.Chassis.RackAsset.Unit.Device
新增属性:
DiscoveredStatus:设备被发现(上线)标志,签名为 y,读权限: ReadOnly,写权限:BasicSetting,复位持久化,发送变化通知
MgmtIpv4Addr:IPv4地址,签名为as,读权限: ReadOnly,写权限:BasicSetting,复位持久化
MgmtIpv6Addr:IPv6地址,签名为as,读权限: ReadOnly,写权限:BasicSetting,复位持久化
AssetOwner:资产所有人,签名为 s,读权限: ReadOnly,写权限:BasicSetting,不持久化
Model:设备型号,签名为 s,读权限: ReadOnly,写权限:BasicSetting,不持久化
WeightKg:设备重量(单位:kg),签名为 u,读权限: ReadOnly,写权限:BasicSetting,不持久化
LifeCycleYear:设备设计生命周期(单位: 年),签名为 s,读权限: ReadOnly,写权限:BasicSetting,不持久化
RatedPowerWatts:设备额定功耗(单位: W),签名为 u,读权限: ReadOnly,写权限:BasicSetting,不持久化
CheckInTime:首次使用时间,签名为 s,读权限: ReadOnly,写权限:BasicSetting,不持久化
ExtendField:扩展域数据:JSON字符串,最大支持5个子属性字段;用于存储自定义数据,签名为 s,读权限: ReadOnly,写权限:BasicSetting,不持久化
TokenAvailable:Token状态,签名为 b,读权限: ReadOnly,写权限:BasicSetting,不持久化,发送变化通知
IsAutoDiscoveried:设备是否由机柜管理单元自动发现,签名为 b,读权限: ReadOnly,写权限:BasicSetting,复位持久化