【iTestSmart 1.0.36】设置Syslog认证方式为双向认证记录操作日志测试

一、测试环境
硬件:S920X20
BMC Version: 25.06.00
二、问题描述
OpenUBMC->融合运维->设置Syslog认证方式为双向认证记录操作日志测试,测试结果Fail

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

问题分析

根据您提供的测试信息,当前测试用例“设置Syslog认证方式为双向认证记录操作日志测试”在使用iTestSmart 1.0.36对S920X20设备进行测试时返回Fail。从日志来看,Redfish接口已成功执行设置命令,并记录了操作日志:“Set syslog auth type: mutual authentication successfully”。然而,测试框架仍判定为失败,原因是日志校验失败

此现象表明:功能执行成功,但测试框架的校验逻辑未通过,可能涉及日志匹配规则、字段格式或上下文判断问题。


知识库关联与技术支持依据

结合知识库内容,以下几点可作为分析支撑:

  1. Syslog认证方式支持情况
    根据评审文档《【已评审】支持遥测上报配置管理》和《Syslog RELP协议定制指导》,OpenUBMC系统已支持Syslog的TLS和mTLS(即双向认证)模式。资源树路径 /bmc/kepler/ObservabilityService 下的 TLSMode 属性明确支持取值为 mTLS(双向认证),说明系统具备双向认证能力。

  2. 操作日志记录机制
    系统在设置安全相关配置(如Syslog认证方式)时会生成操作日志。您提供的日志中已出现“Set syslog auth type: mutual authentication successfully”,符合预期行为,证明后端已正确触发日志写入。

  3. 测试失败原因推测
    尽管日志内容正确,但测试框架报“日志校验失败”,可能原因包括:

    • 日志格式中特殊字符(如 $+)未被正确转义或匹配。
    • 测试脚本的正则匹配规则未覆盖“mutual authentication”这一表述。
    • 日志级别、时间戳精度或来源模块(Redfish vs CLI)不在预期范围内。
    • 框架期望的日志条目位置或前后文上下文不一致。
  4. iTestSmart测试环境依赖
    itestsmart作为OpenUBMC生态中的核心测试工具,依赖于BMC版本、测试脚本逻辑及日志采集机制的一致性。当前BMC版本为25.06,需确认该版本是否完全支持该测试项的日志输出规范。


建议解决方案

  1. 检查测试脚本日志匹配规则
    审查 REDFISH_SyslogService_246.py 脚本中关于日志校验的代码段(line:1017附近),确认其正则表达式或字符串匹配逻辑是否能兼容如下格式:

    Redfish,Administrator@\$+,sensor_alarm,Set syslog auth type: mutual authentication successfully
    

    特别注意对 $+ 等特殊符号的转义处理。

  2. 更新测试用例预期日志模板
    若系统实际输出已变更,建议同步更新测试用例的预期日志模板,确保与实际一致。可参考Redfish接口 /redfish/v1/Managers/1/SyslogService 的实现逻辑。

  3. 确认BMC版本与itestsmart兼容性
    当前使用itestsmart 1.0.36 和 BMC 25.06.00,请核实该版本组合是否已在官方兼容性列表中。若为新版本BMC,可能存在测试脚本未适配的情况。

  4. 手动验证功能是否真实生效
    可通过Redfish或CLI命令手动设置Syslog为mTLS模式,并检查:

    • 资源树属性 /bmc/kepler/ObservabilityService/TLSMode 是否更新为 mTLS
    • 是否生成正确的审计日志
    • 是否能正常与支持mTLS的syslog服务器通信

结论

当前问题并非功能缺陷,而是测试校验逻辑与实际日志输出不匹配所致。建议优先排查测试脚本中的日志验证逻辑,确认是否支持当前BMC版本的实际日志格式。若功能本身可正常执行并记录日志,则应修正测试用例预期,而非修复BMC功能。

十月版本已经解决