Prhub

#23940 [AMD] Fix CI RuntimeError: opentelemetry package is not installed

原始 PR 作者 yichiche 合并时间 2026-04-29 18:02 文件变更 2 提交数 3 评论 4 代码增减 +3 / -3

执行摘要

修复 AMD ROCm CI 因缺少 tracing 依赖失败

AMD ROCm CI 在多条 job(multimodal-gen-test-1-gpu-amd、multimodal-gen-test-2-gpu-amd)中所有 tracing 相关测试均失败,报错 RuntimeError: opentelemetry package is not installed!!!。此问题源于 OpenTelemetry tracing 功能加入后,ROCm 安装路径未正确包含 tracing 可选依赖。PR body 明确指出了根因并引用相关 PR #21254 和 #21740。

值得快速合并的配置修复 PR,逻辑清晰,验证充分。对于其他平台开发者,建议检查是否也需要将 tracing 加入对应的 all 组以避免未来 CI 失败。

讨论亮点

Gemini 代码审查 bot 提出扩展建议:将 sglang[tracing] 同样加入 all_hpuall_musaall_mps 以保持一致性,并考虑加入 test extra 以确保测试环境依赖完整。该建议未被采纳,理由可能是当前仅 AMD ROCm CI 出现失败,且其他平台暂无相关测试,保持最小化修改。

实现拆解

  1. python/pyproject_other.toml 修改:在第 170 行的 all_hip 依赖列表中添加 "sglang[tracing]",使得 python[all_hip] 安装时自动拉取 opentelemetry 相关包。该 tracing extra 已在同一文件第 84-89 行定义,包含 opentelemetry-sdkopentelemetry-apiopentelemetry-exporter-otlpopentelemetry-exporter-otlp-proto-grpc
  2. scripts/ci/amd/amd_ci_install_dependency.sh 修改:将 CI 安装的 extras 从 dev_hip 改为 dev_hip,tracing,确保 CI 环境显式安装 tracing 依赖。同时修复了条件分支中 extras 拼接逻辑,避免 OPTIONAL_DEPS 存在时覆盖 tracing。
  3. 无需修改 Dockerfile,因为 ROCm Dockerfile 使用 python[all_hip] 安装,all_hip 现已包含 tracing。
文件 模块 状态 重要度
python/pyproject_other.toml 项目配置 modified 3.87
scripts/ci/amd/amd_ci_install_dependency.sh CI 脚本 modified 3.13

关键源码片段

scripts/ci/amd/amd_ci_install_dependency.sh infrastructure

CI 脚本适配:更新 extras 变量显式包含 tracing,确保 CI 环境安装 tracing 依赖。

# scripts/ci/amd/amd_ci_install_dependency.sh
# 从 OPTIONAL_DEPS 参数构建 python extras 列表,
# 显式包含 tracing 以确保 opentelemetry 包被安装。
OPTIONAL_DEPS="${1:-}"# 当前 extras 始终包含 tracing
EXTRAS="dev_hip,tracing"if [ -n "$OPTIONAL_DEPS" ]; then
    # 当有额外依赖时,保留 tracing 并追加 OPTIONAL_DEPS
    EXTRAS="dev_hip,tracing,${OPTIONAL_DEPS}"
fiecho "Installing python extras: [${EXTRAS}]"

评论区精华

是否应同步修改其他平台的 all 组 设计

Gemini code-assist bot 建议将 tracing 也加入 all_hpu、all_musa、all_mps 及 test extra 以保持一致性并防止未来 CI 失败。

结论:未采纳。当前仅 AMD ROCm CI 出现失败,其他平台暂无 tracing 测试,最小化修改原则。 · 已解决

风险与影响

变更极小(仅两处配置),风险极低。可能的风险是其他平台(HPU、MUSA、MPS)若后续添加 tracing 测试也会遇到类似问题,但当前无影响。无回归或性能风险。

直接修复 AMD ROCm CI 的 tracing 测试失败,影响所有 AMD ROCm CI 流水线。对用户无直接影响(仅为基础设施依赖修复),对系统无性能影响。团队后续需关注其他平台是否也需要类似修复。

仅影响 AMD ROCm CI 其他平台可能存在相同遗漏

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论