背景
机柜管理场景需要支持单机柜、机房的供电主备路均衡。当前已经支持的供电模式包含主路供电、备路供电、奇偶交叉冗余供电三种模式,不满足系列化要求。需要新增自动供电均衡模式,该模式可以根据定制电源数量、机柜柜号自动实现柜内供电均衡或者机房供电均衡。
关联ISSUE
NA
整体方案
在对应的资源树属性、协作接口、web、redfish、CLI涉及到供电模式枚举,新增一个自动供电均衡模式。
评审点
1:资源协作接口供电线路属性和供电线路设置方法取值新增支持自动均衡供电模式
2:redfish供电模式设置接口新增自动均衡供电模式。
3:webrest供电模式设置和查询接口新增自动均衡供电模式。
4:CLI供电模式设置命令行参数新增支持自动均衡供电模式。
详细描述
1:资源协作接口供电线路属性和供电线路设置方法取值新增支持自动均衡供电模式
path :/bmc/kepler/PowerEquipment/PowerDistribution
interface :bmc.kepler.PowerEquipment.PowerDistribution.TransferConfiguration
| 属性/方法名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| ExpectedPowerSupplyCircuit | 属性新增取值范围 | s | R:ReadOnly | 掉电持久化 | true | 预期的供电线路,取值: * MainCircuit:主电路供电(默认值) * BackupCircuit:备电路供电 * HalfCrossRedundant:半交叉冗余供电 * QuarterCrossRedundant: 四分之一交叉冗余供电 * ParityCrossRedundant:奇偶交叉冗余供电 * AutoBalance :自动均衡供电 | 属性仅适用于机柜管理双输入电源场景 |
| CurrentPowerSupplyCircuit | 属性新增取值范围 | s | R:ReadOnly | 掉电持久化 | true | 当前的供电线路,取值: * MainCircuit:主电路供电(默认值) * BackupCircuit:备电路供电 * HalfCrossRedundant:半交叉冗余供电 * QuarterCrossRedundant: 四分之一交叉冗余供电 * ParityCrossRedundant:奇偶交叉冗余供电 * AutoBalance:自动均衡供电 | 属性仅适用于机柜管理双输入电源场景 |
| SetExpectedPowerSupplyCircuit | 接口新增取值范围 | 请求: s 响应: u | PowerMgmt | NA | NA | 设置预期的供电线路: 请求: PowerSupplyCircuit:供电模式(MainCircuit、BackupCircuit、HalfCrossRedundant、QuarterCrossRedundant、ParityCrossRedundant、AutoBalance) 响应: TaskId:任务Id | 属性仅适用于机柜管理双输入电源场景 |
2:redfish供电模式设置接口新增自动均衡供电模式:
①切换电源供电来源
操作类型:POST
URI: https:// device_ip /redfish/v1/Chassis/{ChassisId}/Power/Oem/Huawei/Actions/Power. SetPsuSupplySource
变化类型:新增属性取值
请求消息体:
{
“SupplySource”:supply_source_value
}
| 参数 | 参数说明 | 取值 |
|---|---|---|
| supply_source_value | 机柜供电模式 | * MainCircuit:主电路供电 * BackupCircuit:备电路供电 * HalfCrossRedundant:半交叉冗余供电 * QuarterCrossRedundant: 四分之一交叉冗余供电 * ParityCrossRedundant: 奇偶交叉冗余供电 *AutoBalance:自动均衡供电 |
响应消息体:
{
…
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
….
"TaskState": "Running",
….
}
3:webrest供电模式设置和查询接口新增自动均衡供电模式:
①设置电源供电模式
操作类型:POST
URI: https:// device_ip /UI/Rest/System/ PowerSupply/PowerSupplySource/SetPowerSupplySource
变化类型:新增属性取值
请求消息体:
{
“SupplySource”: “value”
}
| 第 1 列 | 第 2 列 | 第 3 列 | 第 4 列 |
|---|---|---|---|
| SupplySource | 预期切换的供电状态(0:主电路供电;1:备电路供电;2:半交叉冗余供电;3:四分之一冗余供电;4:奇偶交叉冗余供电; 5:自动均衡供电) | Number(0~5) | 必选 |
请求成功后返回TaskId,web根据任务Id拉起后台轮询任务,轮询任务根据TaskId,使用url:/UI/Rest/System/PowerSupply/PowerSupplySource/GetOperationTaskProgress获取切换任务进展并对外展示。
②查询电源供电模式
操作类型: GET
URI: https:// device_ip /UI/Rest/System/ PowerSupply/PowerSupplySource
变化类型: 新增属性取值
请求消息体:无
输出说明:
| 参数 | 参数说明 | 类型 |
|---|---|---|
| ExpectedSupplySource | 预期供电状态(0:主电路供电;1:备电路供电;2:半交叉冗余供电;3:四分之一冗余供电;4:奇偶交叉冗余供电; 5:自动均衡供电) | Number |
| CurrentSupplySource | 当前供电状态(0:主电路供电;1:备电路供电;2:半交叉冗余供电;3:四分之一冗余供电;4:奇偶交叉冗余供电; 5:自动均衡供电) | Number |
4:CLI供电模式设置命令行参数新增支持自动均衡供电模式。
ipmcset -t maintenance -d psusupplysource -v option
| 参数 | 参数说明 | 第 3 列 |
|---|---|---|
| option | 标识要切换的供电模式 | 0:主电路供电;1:备电路供电;2:半交叉冗余供电;3:四分之一冗余供电;4:奇偶交叉冗余供电;5:自动均衡供电 |
评审结论
决策点1:同意资源协作接口供电线路属性和供电线路设置方法参数取值新增支持自动均衡供电模式,具体如下:
interface:bmc.kepler.PowerEquipment.PowerDistribution.TransferConfiguration
-
属性ExpectedPowerSupplyCircuit、CurrentPowerSupplyCircuit取值枚举范围新增 AutoBalance(自动均衡供电)。
-
方法SetExpectedPowerSupplyCircuit取值枚举范围新增 AutoBalance(自动均衡供电)。
决策点2:同意redfish供电模式设置接口新增自动均衡供电模式,具体如下:
uri: /redfish/v1/Chassis/{ChassisId}/Power/Oem/Huawei/Actions/Power.SetPsuSupplySource
- 请求参数SupplySource属性新增取值:AutoBalance,表示自动均衡供电
决策点3:同意webrest供电模式设置和查询接口新增自动均衡供电模式,具体如下:
uri:/UI/Rest/System/PowerSupply/PowerSupplySource/SetPowerSupplySource
- SupplySource属性新增取值:5,表示自动均衡供电
uri:/UI/Rest/System/PowerSupply/PowerSupplySource
- 属性ExpectedSupplySource和CurrentSupplySource新增取值:5,表示自动均衡供电
决策点4: 同意CLI供电模式设置命令的参数新增支持自动均衡供电模式,具体如下:
命令:ipmcset -t maintenance -d psusupplysource -v <option>
- 参数option属性新增取值: 5,表示自动均衡供电
遗留问题
1、确认redfish请求的URI是否正确
结论:经确认,为了兼容历史版本,保持当前URI,后面新增的Power资源属性/Action使用规范定义的新URI。