ISSUE链接(必填,此议题关联的issue):
背景(必填,文字描述议题背景,如需求来源、问题场景):
在BIOS异常时,为了便于定位BIOS的问题,需要将整片BIOS FLASH的内容都dump出来做分析,支持WEB和redfish下载BIOS FLASH内容,显示下载进度
决策点(必填,一句话描述待决策点)
1、新增资源协作接口实现dump BIOS FLASH
2、新增WebRest接口以支持dump BIOS FLASH
详细描述(必填,描述待评审接口的详细内容):
1、新增资源协作接口
| 项 | 方法 | 备注说明 |
|---|---|---|
| 资源path | /bmc/kepler/Systems/:SystemId/Bios |
已有path |
| 资源interface | bmc.kepler.Systems.Bios |
已有interface |
| 方法名称 | ExportFirmware |
新增 |
| 方法权限 | BasicSetting | 新增 |
| 说明 | 导出对应系统的BIOS FLASH内容 | |
| 请求签名 | s | |
| 请求参数说明 | OutputFilePath:签名s,表示导出路径,支持本地导出、远程导出 本地导出路径格式:“/tmp/文件路径” 远程导出路径格式:“文件传输协议://用户名:密码@ip地址/目录/文件名” ,其中文件传输协议包括五种:sftp、https、nfs、cifs、scp |
|
| 响应签名 | u | |
| 响应参数说明 | TaskId:U32类型,导出任务的Id |
2、新增POST接口
| 项 | 取值 | |
|---|---|---|
| URI | /UI/Rest/System/Bios/ExportFirmware | |
| 接口类型 | POST | |
| 变化类型 | 新增接口 | |
| 接口说明 | 导出bios固件 | |
| 请求消息体 | { “SystemId”: SystemId } |
|
| 响应消息体 | { “TaskUrl”: TaskUrl } |
请求参数说明
| 参数 | 说明 | 类型 | 可选/必选 |
|---|---|---|---|
| SystemId | 导出BIOS固件所属的系统Id,如果不指定表示导出所有系统 | integer | 可选 |
响应参数说明
| 参数 | 说明 | 类型 |
|---|---|---|
| TaskUrl | 导出任务的Url | String |
评审结论
1、同意资源协作接口bmc.kepler.Systems.Bios新增如下方法:
- ExportFirmware,用于导出BIOS固件数据,请求签名为s,参数OutputFilePath表示导出路径,支持本地导出、远程导出,响应签名为u,参数TaskId表示异步任务Id, 权限为BasicSetting
2、同意新增webrest接口
URI: /UI/Rest/System/Bios/ExportFirmware
接口类型:POST
请求参数:
- SystemId,表示待导出的BIOS固件所属的系统Id,类型为integer,可选参数,默认导出所有系统的BIOS固件
响应参数:
- TaskUrl,表示异步导出任务的Url,类型为string
遗留问题
1、需要确认导出的内容是否存在敏感信息
结论:BMC会对敏感信息部分内容进行擦除,确保最终导出的文件不存在敏感信息