【待评审】支持RAID卡动态配置最大启动盘数量,北向接口调整

背景

适配YX4颗粒的1880 RAID;同时RAID FW固件版本由1.x更新至2.x,固件升级带来的影响就是启动盘规格的变更,1.x版本支持1个启动盘配置,2.x版本支持5个启动盘配置。
北向接口需要做出相应的变化,来适配此改动

关联ISSUE

https://gitcode.com/openUBMC/storage/issues/297
https://gitcode.com/openUBMC/storage/issues/296
https://gitcode.com/openUBMC/storage/issues/294

整体方案

1、支持CLI接口通过资源协作属性BootDevices获取显示RAID卡配置的多个启动盘
2、支持Redfish接口通过资源协作属性BootDevices获取RAID卡的多个启动盘
接口无变化,返回值BootDevices会根据实际情况返回全部设备名称,未设置的显示None
3、支持Redfish接口通过资源协作接口SetBootDevicesV2设置RAID卡的多个启动盘
4、支持web-rest接口通过资源协作属性BootDevices获取RAID卡的多个启动盘
接口无变化,返回值BootDevices会根据实际情况返回全部设备名称,未设置的显示None
5、支持web-rest接口通过资源协作接口SetBootDevicesV2设置RAID卡的多个启动盘
接口无变化,入参无限制

详细描述

方案中涉及的评审点:
1、支持CLI接口通过资源协作属性BootDevices获取显示RAID卡配置的多个启动盘
返回文案涉及修改,兼容多启动盘返回值显示
3、支持Redfish接口通过资源协作接口SetBootDevicesV2设置RAID卡的多个启动盘
入参BootDevices的长度限制修改,由原来的最大2个参数改为无限制

评审点1:CLI接口获取多启动盘,返回文案修改

资源URI:ipmcget -t storage -d ctrlinfo
原文案

Primary Boot Device                          : Disk1
Secondary Boot Device                        : Disk2

新文案

博通卡,PMC卡示例:
Boot Devices                                  : Disk1, Disk2
1880Raid卡1.0版本示例:
Boot Devices                                  : Disk1
1880Raid卡2.0版本示例:
Boot Devices                                  : Disk1, Disk2, Disk3, None, None

评审点2:redfish设置多启动盘,参数长度限制修改

资源URI:/redfish/v1/Systems/:systemid/Storages/:storageid
操作类型:PATCH
变化类型:入参BootDevices的长度限制修改,由原来的最大2个参数改为无限制
应用场景:设置Raid卡多启动盘
请求体

{
    "StorageControllers": [
        {
            "Oem": {
                "openUBMC": {
                    "BootDevices": ["Disk0", "None"]
                }
            }
        }
    ]
}

变更属性

属性名 类型 示例/取值范围 readonly 易变属性 实现patch 操作权限 描述
BootDevices array 博通卡,PMC卡示例:
[“Disk0”, “None”]
1880Raid卡1.0版本示例:
[“Disk0”]
1880Raid卡2.0版本示例:
[“Disk0”, “None”, “Disk2”, “Disk3”]
取值范围无限制,长度无限制
多启动盘数组

评审结论

遗留问题