【未评审】支持获取 RAS 事件(故障、预测、自愈)信息的Redfish接口

背景

随着服务器大规模部署和运维自动化程度的提升,客户对系统可靠性和可维护性的要求日益增高。RAS(Reliability, Availability, Serviceability)事件是反映服务器硬件健康状态的核心信息,涵盖故障(Fault)、预测(Prediction)、自愈(Self-Healing)三类关键事件。

当前,BMC 的 FDM(Fault Detection and Management)模块已具备 RAS 事件的检测与记录能力,但缺乏标准化的外部访问接口。

通过 Redfish 接口标准化采集服务器 RAS 事件(故障、预测、自愈)信息,支撑以下业务场景:

  • 客户自运维:客户运维平台通过 Redfish 接口周期性拉取 RAS 日志,实现服务器健康状态实时监控。
  • 主动预防式运维:基于预测事件触发告警和预处理流程,在故障发生前介入,降低宕机风险。
  • 故障回溯与分析:导出全量 RAS 日志,用于离线分析、故障定位和根因分析。

关联ISSUE

北向接口获取 RAS 事件(故障、预测、自愈)信息

评审点

1、在 /redfish/v1/Managers/{ManagerId}/FDMService(已有)下新增LogService资源链接
2、新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService资源
3、新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries集合资源
4、新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/{EntryId}资源链接
5、新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/FDMLogEntry.ExportAll资源链接

详细描述

1、 新增LogService资源链接

资源URI:/redfish/v1/Managers/{ManagerId}/FDMService
资源版本:HwFDMService.v1_2_0.HwFDMService
操作类型:GET
属性列表:

  • 注1 :列表内属性默认均支持GET 操作。
属性名 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
LogService object {
  “@odata.id”: “/redfish/v1/Managers/{ManagerId}/FDMService/LogService”
}
/ / / ReadOnly 此属性包含指向 LogService 资源的链接,表示日志服务资源入口

Schema 定义

"LogService": {
    "additionalProperties": false,
    "description": "The LogService resource Link.",
    "longDescription": "The LogService resource Link.",
    "patternProperties": {
        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
            "description": "This property shall specify a valid odata or Redfish property",
            "type": [
                "array",
                "boolean",
                "integer",
                "number",
                "null",
                "object",
                "string"
            ]
        }
    },
    "properties": {
        "@odata.id": {
            "$ref": "http://redfish.dmtf.org/schemas/odata-v4.json#/definitions/id"
        }
    },
    "required": [
        "@odata.id"
    ],
    "type": "object"
}

请求样例

GET https://device_ip/redfish/v1/Managers/1/FDMService

请求头:
X-Auth-Token: 6599174c38c36838737d9749179e1ee1

请求消息体:无

响应样例

{
  "@odata.context": "/redfish/v1/$metadata#Managers/1/FDMService/$entity",
  "odata.id": "/redfish/v1/Managers/1/FDMService",
  "@odata.type": "#HwFDMService.v1_2_0.HwFDMService",
  "Id": "FDMService",
  "Name": "Fault Diagnostic Management Servcie",
  "DiagnoseFailurePolicy": "NoAction",
  "DiagnoseSuccessPolicy": "NoAction",
  ...
  "NpuHbmFPCEnabled": false,
  "NpuHbmFPCSubFunctionSwitch": {
    "MemFaultIsolationEnabled": false,
    "MemFaultIsolationSubFunctionSwitch": {
      "MemPageOfflineEnabled": false,
      "MemRowSparingEnabled": true
    },
    "MemPatrolScrubAlarmEnabled": false,
    "MemFaultPredictionEnabled": false,
    "MemFaultPredictionMode": "PrecisionFirst",
    "MemHardFailureDetectionMode": "ExpertRule"
  },
  "CpuFPC": {
    "@odata.id": "/redfish/v1/Managers/1/FDMService/CpuFPC"
  },
  "LogService": {
    "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService"
  }
}

2、新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService资源

URI: /redfish/v1/Managers/{Managerid}/FDMService/LogService
资源版本:LogService.v1_8_1.LogService
操作类型:GET
属性列表:

  • 注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id 、@odata.type 、Id 、Name ,集合资源还包括:Members、Members@odata.count),默认均需实现。

  • 注2 :列表内属性默认均支持GET 操作。

属性名 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
MaxNumberOfRecords integer 默认值:200 true / / ReadOnly 该属性应包含此服务中 LogEntryCollection 资源所包含的最大 LogEntry 资源数量。
OverWritePolicy string(enum) 默认值:“Unknown” true / / ReadOnly 该属性应指示在达到 MaxNumberOfRecords 时日志服务的策略
ServiceEnabled boolean 默认值:true true / / ReadOnly 该属性应指示此服务是否已启用
Entries object {
  “@odata.id”: “/redfish/v1/Managers/{Managerid}/FDMService/LogService/Entries”
}
/ / / ReadOnly 该属性应包含一个指向类型为 LogEntryCollection 的资源集合的链接。包含一个指向资源的链接。

请求样例

GET https://device_ip/redfish/v1/Managers/1/FDMService/LogService

请求头:
X-Auth-Token: 6599174c38c36838737d9749179e1ee1

请求消息体:无

响应样例

{
    "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService",
    "@odata.type": "#LogService.v1_8_1.LogService",
    "@odata.context": "/redfish/v1/$metadata#LogService.LogService",
    "Id": "LogService",
    "Name": "FDM Log Service",
    "MaxNumberOfRecords": 200,
    "OverWritePolicy": "Unknown",
    "ServiceEnabled": true,
    "Entries": {
        "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries"
    }
}

3、新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries集合资源

URI:/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries
资源版本:#LogEntryCollection.LogEntryCollection
操作类型:GET
属性列表:

  • 注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id 、@odata.type 、Id 、Name ,集合资源还包括:Members、Members@odata.count),默认均需实现。

  • 注2 :列表内属性默认均支持GET 操作。

属性名 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Members@odata.count integer 示例:3 / / / ReadOnly 此属性表示Entries集合资源数量
Members array 示例:
[
  {
    “@odata.id”: “/redfish/v1/Managers/1/FDMService/LogService/Entries/1”
  },
  {
    “@odata.id”: “/redfish/v1/Managers/1/FDMService/LogService/Entries/2”
  },
  {
    “@odata.id”: “/redfish/v1/Managers/1/FDMService/LogService/Entries/3”
  }
]
/ / / ReadOnly 此属性包含指向Entries集合单个资源链接

Oem属性说明

一级属性 二级属性 三级属性 四级属性 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Oem / / / object / / / / / Oem 扩展对象(已实现)
{{OemIdentifier}} / / object / / / / / 厂商自定义标识对象(已实现)
#FDMLogEntry.ExportAll / object / / / / / /
target string “/redfish/v1/Managers/1/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/FDMLogEntry.ExportAll” true / ReadOnly 导出所有LogEntry的资源链接。
@Redfish.ActionInfo string “/redfish/v1/Managers/1/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/ExportAllActionInfo” true / ReadOnly 导出所有LogEntry的资源说明链接。

Schema 定义

"FDMLogEntry.ExportAll": {
    "patternProperties": {
        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
            "type": [
                "array",
                "boolean",
                "number",
                "null",
                "object",
                "string"
            ],
            "description": "This property shall specify a valid odata or Redfish property."
        }
    },
    "type": "object",
    "parameters": {
        "Type": {
            "type": "string",
            "requiredParameter": true,
            "pattern": "^(text|URI)$"
        },
        "Content": {
            "type": "string",
            "requiredParameter": true
        }
    },
    "additionalProperties": false,
    "properties": {
        "target": {
            "type": "string",
            "format": "uri",
            "description": "Link to invoke action"
        },
        "@Redfish.ActionInfo": {
            "description": "The term can be applied to an action to specify a URI to an ActionInfo resource that describes the parameters supported by this instance of the action.",
            "type": "string",
            "format": "uri-reference",
            "readonly": true
        }
    }
}

请求样例

GET https://device_ip/redfish/v1/Managers/1/FDMService/LogService/Entries

请求头:
X-Auth-Token: 6599174c38c36838737d9749179e1ee1

请求消息体:无

响应样例

{
    "@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection",
    "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries",
    "@odata.type": "#LogEntryCollection.LogEntryCollection",
    "Name": "FDM Log Entry Collection",
    "Members@odata.count": 3,
    "Members": [
        {
            "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries/1"
        },
        {
            "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries/2"
        },
        {
            "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries/3"
        }
    ],
    "Actions": {
        "Oem": {
            "openUBMC": {
                "#FDMLogEntry.ExportAll": {
                    "target": "/redfish/v1/Managers/1/FDMService/LogService/Entries/Actions/Oem/openUBMC/FDMLogEntry.ExportAll",
                    "@Redfish.ActionInfo": "/redfish/v1/Managers/1/FDMService/LogService/Entries/Actions/Oem/openUBMC/ExportAllActionInfo"
                }
            }
        }
    }
}

4、新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/{EntryId}资源链接

URI: /redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/{EntryId}
资源版本:LogEntry.v1_20_0.LogEntry
操作类型:GET
属性列表:

  • 注1 :下表隐去Redfish规范强制要求的通用基础属性(如@odata.id 、@odata.type 、Id 、Name ,集合资源还包括:Members、Members@odata.count),默认均需实现。

  • 注2 :列表内属性默认均支持GET 操作。

表1:

属性名 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Description string 默认值:“FDM RAS Log” true / ReadOnly 该属性应表示日志条目的描述。
Created string(date-time) / true / ReadOnly 该属性应包含日志条目创建的日期和时间。
EntryType string(enum) 默认值:Oem true / ReadOnly 该属性应表示日志条目的类型。
Originator string / true / ReadOnly 该属性应包含日志条目的来源。
Message string / true / ReadOnly 该属性应包含日志条目的信息。
MessageArgs array(string) / true / ReadOnly 该属性应包含要替换到所包含或查找的消息中的消息参数。
OemRecordFormat string 默认值:FDM true / ReadOnly 该属性应表示该条目的OEM特定格式。如果EntryType值为Oem,则必须要求此属性。

Oem属性说明

一级属性 二级属性 三级属性 四级属性 类型 示例/默认值/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Oem / / / object / / / / / Oem 扩展对象(已实现)
{{OemIdentifier}} / / object / / / / / 厂商自定义标识对象(已实现)
ErrorType / string(enum) 取值范围:[“Corrected”, “Deferred”,“Uncorrected”,“NonFatal”,“Fatal”] true / / ReadOnly 故障记录类型,
Corrected: 可纠正错误
Deferred: 可延迟错误
Uncorrected: 不可纠正错误
NonFatal: 非致命不可纠正错误
Fatal: 致命不可纠正错误
ErrorRecordProtocol / string(enum), null 取值范围:[“ARER”, “AER”,“VendorDefine”] true / / ReadOnly 故障记录的协议:
ARER: ARM RAS Error Reporting
AER: Advanced Error Reporting
VendorDefine
不涉及故障记录时取null
ErrorDetail / array (object, null) / / / / / 故障记录详细信息
Register string / true / / ReadOnly 寄存器名称
Value string / true / / ReadOnly 寄存器值
ErrorLocation / array(array (object, null)) / / / / / 故障地址信息
AddressSection string 取值范围:
[“Rank”, “LogicalRank”, “BankGroup”, “Bank”, “Device”, “Column”, “Row”, “SubChannel”, “Sid”, “Pc”, “LogicDie”, “Channel”]
true / / ReadOnly 故障地址段
Value string / true / / ReadOnly 地址段的值

Schema 定义

{
    "Oem": {
        "type": "object",
        "properties": {
            "{{OemIdentifier}}": {
                "type": "object",
                "properties": {
                    "ErrorType": {
                        "type": "string",
                        "readonly": true,
                        "description": "Fault record type",
                        "enum": [
                            "Corrected",
                            "Deferred",
                            "Uncorrected",
                            "NonFatal",
                            "Fatal"
                        ],
                        "enumDescriptions": {
                            "Corrected": "correctable error",
                            "Deferred": "deferred error",
                            "Uncorrected": "uncorrectable error",
                            "NonFatal": "non fatal uncorrectable error",
                            "Fatal": "fatal uncorrectable error"
                        }
                    },
                    "ErrorRecordProtocol": {
                        "type": "string",
                        "readonly": true,
                        "description": "Protocol for recording faults.",
                        "enum": [
                            "ARER",
                            "AER",
                            "VendorDefine"
                        ],
                        "enumDescriptions": {
                            "ARER": "ARM RAS Error Reporting",
                            "AER": "Advanced Error Reporting",
                            "VendorDefine": "Vendor Define"
                        }
                    },
                    "ErrorDetail": {
                        "type": [
                            "object",
                            null
                        ],
                        "description": "Detailed fault information records.",
                        "properties": {
                            "Register": {
                                "type": "string",
                                "readonly": true,
                                "description": "register name"
                            },
                            "Value": {
                                "type": "string",
                                "readonly": true,
                                "description": "register value"
                            }
                        }
                    },
                    "ErrorLocation": {
                        "type": [
                            "object",
                            null
                        ],
                        "description": "Fault address information.",
                        "properties": {
                            "AddressSection": {
                                "type": "string",
                                "readonly": true,
                                "description": "Faulty address range",
                                "enum": [
                                    "Rank",
                                    "LogicalRank",
                                    "BankGroup",
                                    "Bank",
                                    "Device",
                                    "Column",
                                    "Row",
                                    "SubChannel",
                                    "Sid",
                                    "Pc",
                                    "LogicDie",
                                    "Channel"
                                ],
                                "enumDescriptions": {
                                    "Rank": "Rank",
                                    "LogicalRank": "Logical Rank",
                                    "BankGroup": "Bank Group",
                                    "Bank": "Bank",
                                    "Device": "Device",
                                    "Column": "Column",
                                    "Row": "Row",
                                    "SubChannel": "Sub Channel",
                                    "Sid": "Sid",
                                    "Pc": "Pc",
                                    "LogicDie": "Logic Die",
                                    "Channel": "Channel"
                                }
                            },
                            "Value": {
                                "type": "string",
                                "readonly": true,
                                "description": "Value of the address segment"
                            }
                        }
                    }
                }
            }
        }
    }
}

请求样例

GET https://device_ip/redfish/v1/Managers/1/FDMService/LogService/Entries/3

请求头:
X-Auth-Token: 6599174c38c36838737d9749179e1ee1

请求消息体:无

响应样例

{
    "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry",
    "@odata.id": "/redfish/v1/Managers/1/FDMService/LogService/Entries/1",
    "@odata.type": "#LogEntry.v1_20_0.LogEntry",
    "Id": "3",
    "Name": "Log Entry 3",
    "Description": "FDM RAS Log",
    "Created": "2026-07-19T05:25:26+08:00",
    "EntryType": "Oem",
    "Originator": "CPU1",
    "Message": "A Corrected error occured.",
    "MessageArgs": [
        "CPU1",
        "Die1",
        "DDRC1"
    ],
    "OemRecordFormat": "huawei",
    "Oem": {
        "openUBMC": {
            "ErrorType": "Corrected",
            "ErrorRecordProtocol": "ARER",
            "ErrorDetail": [
                {
                    "Register": "ERR_STATUS",
                    "Value": "0X00000000F4304A07"
                }
            ],
            "ErrorLocation": [
                [
                    {
                        "AddressSection": "subchannel",
                        "Value": "0"
                    },
                    {
                        "AddressSection": "Rank",
                        "Value": "1"
                    }
                ]
            ]
        }
    }
}

5、新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/FDMLogEntry.ExportAll资源链接

URI: /redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/FDMLogEntry.ExportAll

操作类型:POST

操作权限:BasicSetting

请求参数:

属性名称 取值类型 取值范围 默认值 约束 说明
Type string(enum) [“URI”] “URI” 必需参数 导出类型
Content string / / 必需参数 导出文件格式为JSON
本地导出时必须在/tmp路径下,默认路径:“/tmp/文件路径”
远程导出URI格式:“文件传输协议://用户名:密码@ip地址/目录/文件名” ,其中文件传输协议包括五种:sftp、https、nfs、cifs、scp

请求样例

POST https://device_ip/redfish/v1/Managers/1/FDMService/LogService/Entries/Actions/Oem/openUBMC/FDMLogEntry.ExportAll

请求头:

X-Auth-Token: 6599174c38c36838737d9749179e1ee1

请求消息体

{
    "Type":"URI",
    "Content":"/tmp/fdm_log_enties.json"
}

响应样例

{
    "@odata.context": "/redfish/v1/$metadata#Task.Task",
    "@odata.type": "#Task.v1_7_4.Task",
    "@odata.id": "/redfish/v1/TaskService/Tasks/1/SubTasks/1",
    "Id": "1",
    "Name": "FDM log Enties export Task",
    "Description": "",
    "TaskState": "Running",
    "TaskStatus": "OK",
    "StartTime": "2026-01-04T11:37:31+00:00",
    "EstimatedDuration": "PT6M",
    "Messages": [],
    "PercentComplete": 10,
    "Oem": {
        "openUBMC": {
            "TaskPercentage": "10%"
        }
    }
}

操作日志

成功:Export FDM log Enties sucessfully
失败:Export FDM log Enties failed

是否准备好AI预审

评审结论

遗留问题

预审答案内容由AI生成,仅供参考:

帖子评审结论:【未评审】支持获取 RAS 事件(故障、预测、自愈)信息的Redfish接口

帖子相关性:相关(Redfish 相关: 帖子内容包含 ‘redfish’ 关键字)

  • 总评审点数:5
  • Redfish 相关评审点:5
  • 其他评审点:0

总体结果:不通过(0/5 个评审点通过)

评审点 1:在 /redfish/v1/Managers/{ManagerId}/FDMService(已有)下新增LogService资源链接【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(15 项通过,1 项警告)
    • Schema 来源:DMTF ✗,OEM ✓(实际参与校验:OEM)
    • 入口 schema 文件:rackmount/oem/openubmc/json_schema/hwfdmservice.json(rackmount OEM 自定义(rackmount/oem/openubmc))
    • Schema 依据:静态校验直接依据:rackmount OEM 自定义(rackmount/oem/openubmc)(rackmount/oem/openubmc/json_schema/hwfdmservice.json)
  • 规则合规性检查:不通过(2/19 项失败)
    • 静态验证失败项
      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorDetail 在表格中的类型为 array (object, null),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorDetail 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorLocation 在表格中的类型为 array(array (object, null)),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorLocation 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

评审点 2:新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService资源【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(15 项通过,1 项警告)
    • Schema 来源:DMTF ✗,OEM ✓(实际参与校验:OEM)
    • 入口 schema 文件:rackmount/oem/openubmc/json_schema/hwfdmservice.json(rackmount OEM 自定义(rackmount/oem/openubmc))
    • Schema 依据:静态校验直接依据:rackmount OEM 自定义(rackmount/oem/openubmc)(rackmount/oem/openubmc/json_schema/hwfdmservice.json)
  • 规则合规性检查:不通过(3/19 项失败)
    • 静态验证失败项
      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorDetail 在表格中的类型为 array (object, null),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorDetail 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorLocation 在表格中的类型为 array(array (object, null)),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorLocation 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

    • 规则合规性失败项(必须项)
      规则ID:RULE-001
      级别:必须项
      问题描述:发现 Name 属性值中存在拼写错误,“Servcie” 应为 “Service”
      处理建议:将 Name 属性值从 “Fault Diagnostic Management Servcie” 修改为 “Fault Diagnostic Management Service”

评审点 3:新增 /redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries集合资源【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(15 项通过,1 项警告)
    • Schema 来源:DMTF ✗,OEM ✓(实际参与校验:OEM)
    • 入口 schema 文件:rackmount/oem/openubmc/json_schema/hwfdmservice.json(rackmount OEM 自定义(rackmount/oem/openubmc))
    • Schema 依据:静态校验直接依据:rackmount OEM 自定义(rackmount/oem/openubmc)(rackmount/oem/openubmc/json_schema/hwfdmservice.json)
  • 规则合规性检查:不通过(3/19 项失败)
    • 静态验证失败项
      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorDetail 在表格中的类型为 array (object, null),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorDetail 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorLocation 在表格中的类型为 array(array (object, null)),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorLocation 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

    • 规则合规性失败项(必须项)
      规则ID:RULE-001
      级别:必须项
      问题描述:发现 Name 属性值中存在拼写错误:“Servcie” 应为 “Service”
      处理建议:将 Name 属性值从 “Fault Diagnostic Management Servcie” 修改为 “Fault Diagnostic Management Service”

评审点 4:新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/{EntryId}资源链接【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(12 项通过,1 项警告)
    • Schema 来源:DMTF ✓,OEM ✗(实际参与校验:DMTF)
    • 入口 schema 文件:dmtf/LogEntry.v1_20_0.json(DMTF 官方 schema(SchemaFiles/dmtf))
    • Schema 依据:静态校验直接依据:DMTF 官方 schema(SchemaFiles/dmtf)(dmtf/LogEntry.v1_20_0.json)
  • 规则合规性检查:不通过(2/19 项失败)
    • 静态验证失败项
      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorDetail 在表格中的类型为 array (object, null),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorDetail 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorLocation 在表格中的类型为 array(array (object, null)),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorLocation 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

评审点 5:新增/redfish/v1/Managers/{ManagerId}/FDMService/LogService/Entries/Actions/Oem/{{OemIdentifier}}/FDMLogEntry.ExportAll资源链接【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(12 项通过,1 项警告)
    • Schema 来源:DMTF ✓,OEM ✗(实际参与校验:DMTF)
    • 入口 schema 文件:dmtf/LogEntry.v1_20_0.json(DMTF 官方 schema(SchemaFiles/dmtf))
    • Schema 依据:静态校验直接依据:DMTF 官方 schema(SchemaFiles/dmtf)(dmtf/LogEntry.v1_20_0.json)
  • 规则合规性检查:不通过(2/19 项失败)
    • 静态验证失败项
      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorDetail 在表格中的类型为 array (object, null),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorDetail 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。

      规则ID:RULE-010
      级别:Schema
      问题描述:属性 ErrorLocation 在表格中的类型为 array(array (object, null)),但 Schema 中的类型为 [‘object’, None],两者不一致。
      处理建议:请将表格和 Schema 中 ErrorLocation 的类型统一;如果该属性只允许整数,建议统一为 integer,并确保 JSON Schema 的 type 使用小写。