【已评审】评审硬盘诊断功能Redfish接口

关联issue

支持硬盘诊断功能控制

评审背景

  • BMC带外硬盘日志自动收集可能会影响客户带内的性能(跟具体的硬盘有关,有的盘会出现IO跌零的现象),客户希望改成手动控制,因此需要支持通过BMC接口查询和设置硬盘诊断功能的状态,包括日志收集等。

评审点

  • 新增Redfish接口

1、新增Redfish接口

1.1 新增GET接口查询属性DrivesLogCollectEnable、DrivesLogCollectInterval

  • DrivesLogCollectEnable:硬盘日志自动收集开启状态,取值为boolean,默认值true
  • DrivesLogCollectInterval:硬盘日志自动收集开启周期,取值为integer,范围1~255,默认值24(小时)
  • 操作权限:ReadOnly
  • 请求类型:GET
  • 请求URL:/redfish/v1/Managers/:managerid/DiagnosticService
  • 请求头:无
  • 请求体:无
  • 响应体:
    {
    “DrivesLogCollectEnable”: true,
    “DrivesLogCollectInterval”: 24
    }

1.2 新增PATCH接口设置属性DrivesLogCollectEnable、DrivesLogCollectInterval

  • DrivesLogCollectEnable:硬盘日志自动收集开启状态,取值为boolean,默认值true
  • DrivesLogCollectInterval:硬盘日志自动收集开启周期,取值为integer,范围1~255,默认值24(小时)
  • 请求类型:PATCH
  • 请求URL:/redfish/v1/Managers/:managerid/DiagnosticService
  • 操作权限:BasicSetting
  • 请求头:If-Match
  • 请求体:
    {
    “DrivesLogCollectEnable”: true,
    “DrivesLogCollectInterval”: 24
    }

1.3 新增POST接口手动触发收集硬盘日志信息

  • 请求类型:POST
  • 请求URL:/redfish/v1/Managers/:managerid/DiagnosticService/Actions/DiagnosticService.StartCollectDrivesLog
  • 操作权限:BasicSetting
  • 请求头:无
  • 请求体:
    {
    “DriveName” : “Disk0”
    }
  • 参数说明
参数 参数说明 取值
DriveName 硬盘名称 指定硬盘名称:收集指定硬盘日志信息
不指定硬盘名称:“*”表示收集所有硬盘日志信息

1.4 新增GET接口查询手动触发收集硬盘日志接口请求参数

  • 请求类型:GET
  • 请求URL:/redfish/v1/Managers/:managerid/DiagnosticService/StartCollectDrivesLogActionInfo
  • 操作权限:ReadOnly
  • 请求体:无
  • 请求头:无
  • 响应体:
    {
    @odata.context”:
    “/redfish/v1/$metadata#ActionInfo.ActionInfo”,
    “/redfish/v1/Managers/:managerid/DiagnosticService/StartCollectDrivesLogActionInfo”,
    @odata.type”:“#ActionInfo.v1_0_1.ActionInfo”,
    “Id”:“StartCollectDrivesLogActionInfo”,
    “Name”:“Start Collect Drives Log Action Info”,
    “Parameters”:[
    {
    “Name”:“DriveName”,
    “Required”:true,
    “DataType”:“string”
    }
    ],
    “Oem”:{}
    }

评审结论

1、同意GET操作新增属性DrivesLogCollectEnable、DrivesLogCollectInterval
uri: /redfish/v1/Managers/:managerid/DiagnosticService
操作类型:GET
属性:
1)DrivesLogCollectEnable:硬盘日志自动收集开启状态,类型boolean,默认为true
2)DrivesLogCollectInterval:硬盘日志自动收集开启周期,类型integer,取值范围1~255,单位:小时,默认为24
权限:ReadOnly
2、同意PATCH操作支持设置属性DrivesLogCollectEnable、DrivesLogCollectInterval
uri: /redfish/v1/Managers/:managerid/DiagnosticService
操作类型:PATCH
属性:DrivesLogCollectEnable、DrivesLogCollectInterval
权限:BasicSetting
3、同意新增POST操作手动触发收集硬盘日志信息
uri:/redfish/v1/Managers/:managerid/DiagnosticService/Actions/DiagnosticService.StartCollectDrivesLog
操作类型:POST
参数:无
权限:BasicSetting
4、同意新增GET操作查询手动触发收集硬盘日志接口请求参数
uri: /redfish/v1/Managers/:managerid/DiagnosticService/StartCollectDrivesLogActionInfo
操作类型:GET
权限:ReadOnly

遗留问题

1、/redfish/v1/Managers/:managerid/DiagnosticService下的PATCH属性、POST接口权限是否有特殊要求?
结论:
(1)已确认,没有特殊限制
(2)uri下的属性写权限部分是BasicSetting、部分是DiagnoseMgmt