一、测试环境
硬件:S920X20
BMC Version: 25.06.00
二、问题描述
OpenUBMC->融合运维->设置邮件描述属性成功记录操作日志测试,测试结果Fail
答案内容由AI生成,仅供参考:
测试失败分析:设置邮件描述属性成功记录操作日志测试
根据提供的测试日志信息,iTestSmart 1.0.36 在执行“设置邮件描述属性成功记录操作日志”测试用例时返回 Fail,错误提示为“操作日志校验失败,不符合预期”。从日志内容来看,虽然 Redfish 接口成功执行了设置 SMTP 接收邮箱地址的操作(如 Set SMTP receiver 1 email address to (``bmc@test.com``) successfully),但最终测试框架判定操作日志未符合预期格式或内容。
进一步分析操作日志输出,发现日志中包含了多种操作来源(CLI、Redfish、IPMI、mdbctl)和多个模块(event_policy, iam, oms, sensor 等)的记录。然而,测试脚本在第132行抛出异常 KPTestException: 操作日志校验失败,不符合预期,表明其预设的校验逻辑未能匹配实际生成的日志条目。
可能原因与已有知识对比
尽管当前知识库中没有直接提及“设置邮件描述属性”或“SMTP接收者日志记录”的具体测试用例,但结合已有信息可以推断:
-
日志记录机制依赖资源协作接口与
log:operation接口
根据 Lua 开发框架文档,系统通过log:operation(initializer, executor, fmt, ...)接口记录操作日志至/var/log/operation.log,用于审计和防抵赖。若该接口未被正确调用或参数不完整(如缺少initializer或executor),可能导致日志条目缺失或格式错误。 -
Redfish 操作应触发标准操作日志
类似于其他 Redfish 配置变更(如 IPv6 地址设置),修改 SMTP 邮件接收者应生成明确的操作日志条目。此前已有评审通过新增 Redfish 错误提示机制(如DuplicateIPv6Address),说明 Redfish 接口与操作日志联动是受控设计。 -
测试脚本校验逻辑可能过于严格
抛出异常的测试脚本位于Redfish_SetSmtpRecLog_003.py,说明其专门验证 Redfish 设置 SMTP 日志的行为。若日志中字段顺序、时间戳精度、用户标识或模块名称(如event_policy)与预期不符,即使操作成功也可能判定为失败。
建议排查方向
-
检查操作日志文件
/var/log/operation.log的实际内容
确认是否确实存在与 SMTP 配置相关的日志条目,并核对字段是否完整(如操作者、操作类型、目标属性、结果状态)。 -
验证
event_policy组件是否调用了log:operation接口
确保在 Redfish 请求处理流程中,设置邮件接收者后调用了标准日志接口,且传参规范。 -
比对测试脚本预期日志模板与实际输出
分析Redfish_SetSmtpRecLog_003.py中的校验逻辑,确认其期望的日志格式是否与当前系统输出一致,特别是在多线程、异步操作场景下是否存在时间错序或字段缺失。
综上,本次测试失败极可能是由于操作日志的实际输出与测试脚本的预期校验模式不匹配所致,建议结合 BMC 侧完整日志进行比对,并审查相关组件的日志注入实现。
10月版本已解决
