sherry
(长江计算-张靓)
2026 年10 月 20 日 02:02
1
一、问题背景
新增硬盘适配,进行OA自动化脚本测试验证功能
二、环境
BMC版本25.13.93.03
三、操作步骤
1.安装相关依赖包
2.配置QA/Test_Code/component_score/component_score_config.yaml中BMC和OS信息
3.配置南北向配置用例信息
QA/Test_Code/component_drivers/test_lists/NVMe下新增MEMBLAZE P6530DT0768M00 南向用例
QA/Test_Code/integration_test/test_lists/Hard_Disk下新增MEMBLAZE P6530DT0768M00 北向用例
4.配置传感器信息
QA/Test_Code/integration_test/test_config/nvme_vaiables.csv 新增增MEMBLAZE P6530DT0768M00传感器信息
5.执行命令开始测试
python run_component_score.py run --mode “MEMBLAZE P6530DT0768M00” --base Base --test_cases Test_Code/component_drivers/test_cases/integration_test_cases/hardware/NVMe --direction south --base Base_NVME --test_cases Test_Code/integration_test/test_cases/Hard_Disk --drection north
四、问题现象
跑完之后显示北向用例100%通过,南向用例全失败,查询测试报告,南向是两条命令没有内容返回:
busctl --user tree bmc.kepler.devmon --no-paper | grep -i nvme
busctl --user --list --no-paper tree bmc.kepler.devmon | grep PCIeNVMe/
想确认下这个是什么问题,需要改测试用例还是什么配置需要配吗?
答案内容由AI生成,仅供参考:
结论与后续方向
若手动命令无输出,则大概率不是测试用例本身的问题 ,而是BMC侧设备对象未生成或配置缺失 ,需检查:
新增硬盘的适配代码是否已生效(例如设备树、驱动配置)。
是否需要升级CPLD或更新固件(参考文档片段4中关于CPLD版本支持点灯功能的案例)。
若手动命令有输出,则需要修改测试用例 ,调整执行的路径或等待时间,确保命令在设备稳定后执行。
由于上下文中未直接提供该问题的最终解决方案,建议先完成上述步骤,并根据实际输出结果进一步定位。若需要更详细的配置参考,可查阅 openUBMC QA仓库 中的测试脚本和用例模板(上下文提到QA仓库存储自动化脚本和测试策略)。
点击此处查看详细分析解答
根据提供的上下文信息,针对您描述的南向用例失败问题(两条 busctl 命令无内容返回),我为您梳理了可能的分析方向和解决建议。
问题现象总结
执行硬盘自动化脚本测试时,北向用例100%通过 ,但南向用例全部失败 。
失败原因指向两条命令没有内容返回:
busctl --user tree bmc.kepler.devmon --no-paper | grep -i nvme
busctl --user --list --no-paper tree bmc.kepler.devmon | grep PCIeNVMe/
可能的原因分析
根据上下文中的技术信息,南向用例的失败通常与设备对象未注册 或接口未正确暴露 有关。知识库中的实体关系显示:
PCIeNVMe 对象 通过 bmc.dev.NVMe 和 bmc.dev.NVMe.ProductInfo 接口提供NVMe设备数据。
若BMC上实际未创建这些对象,则上述 busctl 命令不会返回任何匹配行,导致用例失败。
此外,上下文提到(文档片段5):
“错误信息都来自于测试用例脚本,看不出有效信息。可以把脚本中的命令在BMC环境上执行一下,再检查一下错误信息” —— yinjian
这提示我们,诊断的第一步是直接在BMC上手动执行上述两条命令 ,观察是否有输出,从而区分是环境问题 还是脚本问题 。
建议排查步骤
直接登录BMC,手动执行命令
busctl --user tree bmc.kepler.devmon --no-paper | grep -i nvme
busctl --user --list --no-paper tree bmc.kepler.devmon | grep PCIeNVMe/
若手动执行 也无输出 ,则说明BMC上确实没有对应对象,问题可能在设备适配或驱动加载 层面。
若手动执行 有输出 ,则说明是测试脚本或执行环境(如权限、路径)的问题。
检查设备是否被正确识别
新增硬盘适配后,需确认BMC是否正确识别该NVMe设备。知识库中提到 bmc.dev.NVMe 是NVMe设备管理的核心接口 ,需确保设备驱动已加载且对象已注册。
可检查是否已配置正确的传感器信息 (nvme_vaiables.csv中的MEMBLAZE P6530DT0768M00条目),以及南北向用例列表中的路径是否正确。
核对测试用例与配置
南向用例所在的 component_drivers/test_cases/integration_test_cases/hardware/NVMe 下,是否针对新增型号添加了对应用例?知识库提到用例设计需原子化、可测试 ,且测试脚本应依赖正确的属性。
检查 component_score_config.yaml 中BMC和OS信息是否正确匹配当前版本(BMC 25.13.93.03)。
参考脚本执行错误处理
自动化脚本应同时分析命令输出 和退出码($?) ,若命令报错但无输出,可能是调用方式或对象路径错误(知识图谱中“Automatic Script”与“Exit Code”的关系)。
结论与后续方向
若手动命令无输出,则大概率不是测试用例本身的问题 ,而是BMC侧设备对象未生成或配置缺失 ,需检查:
新增硬盘的适配代码是否已生效(例如设备树、驱动配置)。
是否需要升级CPLD或更新固件(参考文档片段4中关于CPLD版本支持点灯功能的案例)。
若手动命令有输出,则需要修改测试用例 ,调整执行的路径或等待时间,确保命令在设备稳定后执行。
由于上下文中未直接提供该问题的最终解决方案,建议先完成上述步骤,并根据实际输出结果进一步定位。若需要更详细的配置参考,可查阅 openUBMC QA仓库 中的测试脚本和用例模板(上下文提到QA仓库存储自动化脚本和测试策略)。