背景
当前redfish标准接口存在缺失,需要评审新增redfish标准接口以及属性。
关联ISSUE
评审点
评审点1:
新增URI:/redfish/v1/Managers/:managerid/LogServices/SEL
评审点2:
新增URI:/redfish/v1/Managers/:managerid/LogServices/SEL/Entries
评审点3:
新增URI:/redfish/v1/Managers/:managerid/LogServices/SEL/Entries/:entriesid
评审点4:
新增资源协作接口路径:/bmc/kepler/Managers/:managerid/LogServices/SEL
详细描述
评审点1:
新增URI:/redfish/v1/Managers/:managerid/LogServices/SEL
1.1 新增查询属性
请求URI:/redfish/v1/Managers/:managerid/LogServices/SEL(新增)
请求类型:GET
操作权限:ReadOnly
应用场景:redfish接口获取SEL信息
| 属性名称 | 类型 | 操作权限 | 默认值 | 取值范围 | 是否为易变属性 | 属性说明 | 约束 |
|---|---|---|---|---|---|---|---|
| @odata.context | string | ReadOnly | /redfish/v1/$metadata#LogService.LogService | 否 | 日志服务的OData描述信息 | 无 | |
| @odata.id | string(uri) | ReadOnly | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL | 否 | 日志服务的访问路径 | 无 | |
| @odata.type | string | ReadOnly | #LogService.v1_8_1.LogService | 否 | 日志服务的类型 | 无 | |
| Id | string | ReadOnly | SEL | 否 | 日志服务 ID | 无 | |
| Name | string | ReadOnly | SEL | 否 | 日志服务名称 | 无 | |
| DateTime | string (date-time) | ReadOnly | 是 | 日志服务当前的日期和时间(带 UTC 偏移量) | 无 | ||
| DateTimeLocalOffset | string | ReadOnly | 否 | 时区偏移量 | 无 | ||
| Entries{ | object | ReadOnly | 否 | 日志条目集合资源 | 无 | ||
| @odata.id | string(uri) | ReadOnly | 否 | 日志条目集合的链接 | 无 | ||
| } | |||||||
| LogEntryType | string (enum) | ReadOnly | SEL | SEL | 否 | 日志条目类型 | 无 |
| LogPurposes | array (string) | ReadOnly | Diagnostic | Diagnostic | 否 | 日志用途 | 无 |
| MaxNumberOfRecords | integer | ReadOnly | 2000 | 否 | 最大可处理的日志条目数量 | 无 | |
| Overflow | boolean | ReadOnly | false | 否 | 日志是否已溢出 | 无 | |
| OverWritePolicy | string (enum) | R:ReadOnly W:BasicSetting | WrapsWhenFull | “Unknown”, “WrapsWhenFull” | 否 | 日志空间已满时的覆盖策略 | 无 |
| Persistency | boolean | ReadOnly | true | 否 | 冷重启后日志是否保持持久性 | 无 | |
| ServiceEnable | boolean | ReadOnly | true | 否 | 服务是否已启用 | 无 | |
| Status{ | object | ReadOnly | 否 | 日志服务的状态 | 无 | ||
| State | string | ReadOnly | Enabled | 否 | 日志服务资源及其附属部分的状态 | 无 | |
| Health | string (enum) | ReadOnly | OK | “OK”, “Warning”, “Critical” | 否 | 日志服务资源及其附属部分的健康状态 | 无 |
| } | |||||||
| SyslogFilters | array | ReadOnly | 否 | 本地记录日志的消息过滤器列表 | 无 | ||
| Actions{ | object | ReadOnly | 否 | 日志服务的可用操作集合资源 | 无 | ||
| #LogService.ClearLog{ | object | ReadOnly | 否 | 日志清理接口资源 | 无 | ||
| target | string(uri) | ReadOnly | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/Actions/LogService.ClearLog | 否 | 日志清理接口的访问路径 | 无 | |
| @Redfish.ActionInfo | string(uri) | ReadOnly | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/ClearLogActionInfo | 否 | 日志清理接口说明的访问路径 | 无 | |
| }} |
1.2 新增修改属性
请求URI:/redfish/v1/Managers/:managerid/LogServices/SEL(新增)
请求类型:PATCH
操作权限:BasicSetting
请求头:If-Match
请求体:
| 属性名称 | 类型 | 操作权限 | 属性说明 |
|---|---|---|---|
| DateTime | string(date-time) | BasicSetting | 日志服务当前的日期和时间(带有所需的UTC偏移量) |
| DateTimeLocalOffset | string | BasicSetting | 时区偏移量 |
1.3 新增 ClearLog Action
请求URI:/redfish/v1/Managers/:managerid/LogServices/SEL/Actions/LogService.ClearLog(新增)
请求类型:POST
操作权限:BasicSetting
请求头:Content-Type : application/json;charset=utf-8
请求体:无
1.4 新增 ClearLog ActionInfo
请求URI:/redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/ClearLogActionInfo(新增)
请求类型:GET
操作权限:ReadOnly
| 属性名称 | 类型 | 操作权限 | 默认值 | 属性说明 |
|---|---|---|---|---|
| @odata.context | string | ReadOnly | /redfish/v1/$metadata#ActionInfo.ActionInfo | 清除日志说明的OData描述信息 |
| @odata.id | string(uri) | ReadOnly | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/ClearLogActionInfo | 清除日志说明的访问路径 |
| @odata.type | string | ReadOnly | #ActionInfo.v1_0_1.ActionInfo | 清除日志说明的类型 |
| Id | string | ReadOnly | ClearLogActionInfo | 清除日志说明的ID |
| Name | string | ReadOnly | Clear Log Action Info | 清除日志说明的名称 |
| Parameters | array | ReadOnly | 清除日志操作的参数 | |
| Oem | object | ReadOnly | {} | 制造商/供应商专有的扩展属性 |
1.5 schema文件说明
新增schema文件logservice.v1_8_1.json
评审点2:
新增URI: /redfish/v1/Managers/:managerid/LogServices/SEL/Entries
请求类型:GET
操作权限:ReadOnly
应用场景:redfish接口获取日志条目集合信息
| 属性名称 | 类型 | 默认值 | 属性说明 |
|---|---|---|---|
| @odata.context | string | /redfish/v1/$metadata#LogEntryCollection.LogEntryCollection | 日志条目集合的OData描述信息 |
| @odata.id | string(uri) | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/Entries | 日志条目集合的访问路径 |
| @odata.type | string | #LogEntryCollection.LogEntryCollection | 日志条目集合的类型 |
| Name | string | Log Service Collection | 日志条目集合的名称 |
| Members@odata.count | integer | 日志条目集合的数量 | |
| Members{ | object | 日志条目链接的集合 | |
| @odata.id | string(uri) | 单条日志的访问路径 | |
| } | |||
| Members@odata.nextLink | string | 下一组部分日志的访问链接 |
schema文件说明
新增schema文件 logentry.json logentrycollection.json
评审点3:
新增URI:/redfish/v1/Managers/:managerid/LogServices/SEL/Entries/:entriesid
请求类型:GET
操作权限:ReadOnly
应用场景:redfish接口获取单条日志信息
| 属性名称 | 类型 | 操作权限 | 默认值 | 取值范围 | 是否为易变属性 | 属性说明 | 约束 |
|---|---|---|---|---|---|---|---|
| @odata.context | string | ReadOnly | /redfish/v1/$metadata#LogEntry.LogEntry | 否 | 事件日志的OData描述信息 | 无 | |
| @odata.id | string | ReadOnly | /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/Entries/${Uri/entriesid} | 否 | 事件日志的访问路径 | 无 | |
| @odata.type | string | ReadOnly | #LogEntry.v1_20_0.LogEntry | 否 | 事件日志的类型 | 无 | |
| Id | string | ReadOnly | ${Uri/entriesid} | 否 | 事件 ID | 无 | |
| Name | string | ReadOnly | Log Entry ${Uri/entriesid} | 否 | 事件名称 | 无 | |
| Created | string (date-time) | ReadOnly | 否 | 事件创建的时间 | 无 | ||
| EntryType | string (enum) | ReadOnly | SEL | SEL | 否 | 当前事件的类型 | 无 |
| EventId | string | ReadOnly | 否 | 事件的唯一实例标识 | 无 | ||
| EventTimestamp | string (date-time) | ReadOnly | 否 | 事件产生的时间 | 无 | ||
| EventType | string (enum) | ReadOnly | Alert | Alert | 否 | 事件类型 | 无 |
| GeneratorId | string | ReadOnly | 否 | SEL 事件产生的设备标识 | 无 | ||
| Message | string | ReadOnly | 否 | 事件的描述信息 | 无 | ||
| MessageArgs | array | ReadOnly | 否 | 事件描述信息中的动态参数 | 无 | ||
| Persistency | boolean | ReadOnly | true | 否 | 当前事件是否掉电持久化 | 无 | |
| Resolution | string | ReadOnly | 否 | 当前事件的修复建议 | 无 | ||
| ResolutionSteps | array | ReadOnly | 否 | 当前事件的修复步骤 | 无 | ||
| SensorNumber | integer | ReadOnly | 否 | IPMI 规范中的传感器编号 | 无 | ||
| SensorType | string (enum) | ReadOnly | 否 | IPMI 规范中的传感器类型 | 无 | ||
| ServiceProviderNotified | boolean | ReadOnly | true | 否 | 事件是否已上报 | 无 | |
| Severity | string (enum) | ReadOnly | “OK”, “Warning”, “Critical” | 否 | 事件的严重等级 | 无 | |
| SpecificEventExistsInGroup | boolean | ReadOnly | false | 否 | 事件是否分组 | 无 |
schema文件说明
新增schema文件 logentry.v1_20_0.json
评审点4:
资源path:/bmc/kepler/Managers/:managerid/LogServices/SEL(新增)
变化类型:新增资源path
评审结论
1、同意新增URI /redfish/v1/Managers/:managerid/LogServices/SEL 包括GET操作,操作权限:ReadOnly;PATCH操作,操作权限:BasicSetting,请求头:If-Match 请求体包括DateTime、DateTimeLocalOffset (详情见评审点1)
2、同意新增URI /redfish/v1/Managers/:managerid/LogServices/SEL/Actions/LogService.ClearLog 请求类型:POST, 操作权限:BasicSetting,请求头:Content-Type : application/json;charset=utf-8,请求体:无 (详情见 1.3 新增 ClearLog Action)
3、同意新增URI /redfish/v1/Managers/${Uri/managerid}/LogServices/SEL/ClearLogActionInfo 请求类型:GET,操作权限:ReadOnly (详情见 1.4 新增 ClearLog ActionInfo)
4、同意新增URI /redfish/v1/Managers/:managerid/LogServices/SEL/Entries 包括GET操作,操作权限:ReadOnly;(详情见 评审点2)
5、同意新增URI /redfish/v1/Managers/:managerid/LogServices/SEL/Entries/:entriesid 包括GET操作,操作权限:ReadOnly;(详情见 评审点3)
6、同意新增schema文件 logservice.v1_8_1.json、logentry.json、logentrycollection.json、logentry.v1_20_0.json
7、同意新增SEL的资源协作接口路径: /bmc/kepler/Managers/:managerid/LogServices/SEL