一、测试环境
硬件: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”。然而,测试框架仍判定为失败,原因是日志校验失败。
此现象表明:功能执行成功,但测试框架的校验逻辑未通过,可能涉及日志匹配规则、字段格式或上下文判断问题。
知识库关联与技术支持依据
结合知识库内容,以下几点可作为分析支撑:
-
Syslog认证方式支持情况:
根据评审文档《【已评审】支持遥测上报配置管理》和《Syslog RELP协议定制指导》,OpenUBMC系统已支持Syslog的TLS和mTLS(即双向认证)模式。资源树路径/bmc/kepler/ObservabilityService下的TLSMode属性明确支持取值为mTLS(双向认证),说明系统具备双向认证能力。 -
操作日志记录机制:
系统在设置安全相关配置(如Syslog认证方式)时会生成操作日志。您提供的日志中已出现“Set syslog auth type: mutual authentication successfully”,符合预期行为,证明后端已正确触发日志写入。 -
测试失败原因推测:
尽管日志内容正确,但测试框架报“日志校验失败”,可能原因包括:- 日志格式中特殊字符(如
$+)未被正确转义或匹配。 - 测试脚本的正则匹配规则未覆盖“mutual authentication”这一表述。
- 日志级别、时间戳精度或来源模块(Redfish vs CLI)不在预期范围内。
- 框架期望的日志条目位置或前后文上下文不一致。
- 日志格式中特殊字符(如
-
iTestSmart测试环境依赖:
itestsmart作为OpenUBMC生态中的核心测试工具,依赖于BMC版本、测试脚本逻辑及日志采集机制的一致性。当前BMC版本为25.06,需确认该版本是否完全支持该测试项的日志输出规范。
建议解决方案
-
检查测试脚本日志匹配规则:
审查REDFISH_SyslogService_246.py脚本中关于日志校验的代码段(line:1017附近),确认其正则表达式或字符串匹配逻辑是否能兼容如下格式:Redfish,Administrator@\$+,sensor_alarm,Set syslog auth type: mutual authentication successfully特别注意对
$+等特殊符号的转义处理。 -
更新测试用例预期日志模板:
若系统实际输出已变更,建议同步更新测试用例的预期日志模板,确保与实际一致。可参考Redfish接口/redfish/v1/Managers/1/SyslogService的实现逻辑。 -
确认BMC版本与itestsmart兼容性:
当前使用itestsmart 1.0.36 和 BMC 25.06.00,请核实该版本组合是否已在官方兼容性列表中。若为新版本BMC,可能存在测试脚本未适配的情况。 -
手动验证功能是否真实生效:
可通过Redfish或CLI命令手动设置Syslog为mTLS模式,并检查:- 资源树属性
/bmc/kepler/ObservabilityService/TLSMode是否更新为mTLS - 是否生成正确的审计日志
- 是否能正常与支持mTLS的syslog服务器通信
- 资源树属性
结论
当前问题并非功能缺陷,而是测试校验逻辑与实际日志输出不匹配所致。建议优先排查测试脚本中的日志验证逻辑,确认是否支持当前BMC版本的实际日志格式。若功能本身可正常执行并记录日志,则应修正测试用例预期,而非修复BMC功能。
十月版本已经解决
