【iTestSmart 1.0.41】设置自定义模式出风口温度查看操作日志,日志信息对比失败
更新时间: 2026/06/02
在Gitcode上查看源码

问题背景

  • 单板类型:S920X20;
  • 软件版本:openUBMC 26.03;
  • 涉及功能:SmartCooling 自定义模式出风口温度设置、操作日志记录;
  • 触发条件:执行温度设置后,自动化脚本校验操作日志;
  • 业务表现:预期脚本用户名为 Administrator,设置自定义模式出风口温度查看操作日志(SmartCooling_XH321V5_202);实际日志用户名为Admin,正则匹配失败,用例报错“操作日志校验失败”,日志信息与预期不符。

问题复现步骤

  1. 通过 Redfish 接口设置自定义模式出风口目标温度;
  2. 查看 BMC 操作日志记录;
  3. 自动化脚本使用正则表达式校验日志内容;
  4. 对比预期用户名与实际日志用户名是否一致;
  5. 确认温度配置是否生效、日志是否正常生成。

关键日志信息

预期正则:

text
  'Redfish,Administrator@.*,Set target temperature to %s of outlet temperature adjustment policy... successfully'

自动化实际日志:

text
  2026-04-17 03:51:19 Redfish,Admin@192.168.40.23,thermal_mgmt,Set target temperature to 53 of outlet temperature adjustment policy(id:0x7) successfully

定位过程

  1. 温度配置已成功下发并生效,非功能缺陷;
  2. 操作日志正常生成,操作结果为 "successfully";
  3. 脚本硬编码预期用户名为 Administrator,实际日志记录为 Admin;
  4. 用户名差异导致正则匹配失败,属于脚本与实际日志不兼容;
  5. BMC 存在用户名缩写机制,Redfish 操作日志使用简写 Admin。

问题原因

  • 测试脚本正则表达式严格匹配用户名 Administrator,未兼容简写形式;
  • BMC 操作日志对默认管理员使用缩写 Admin,而非全称;
  • 脚本校验规则过于严格,未考虑系统用户名映射/缩写策略;
  • 日志字段未标准化,导致自动化用例误报失败。

解决方案

  • 方案一(推荐):修改脚本正则,兼容 Admin/Administrator 两种用户名;
  • 正则调整为:'Redfish,(?:Admin|Administrator)@.*,Set target temperature to ... successfully';
  • 方案二:脚本增加用户名标准化处理,替换 Admin 为 Administrator 后再校验;
  • 方案三:统一 BMC 日志用户名字段输出规范(不推荐,改动风险高);
  • 提交脚本修复 PR,添加兼容性注释。 采用方案二,即使用Administrator用户进行测试,结果为 PASS 修复自动化脚本后继续在环境上跑用例验证效果: