Prhub

#23447 [CI] Move disaggregation basic CI back to 2-gpu suite

原始 PR 作者 ShangmingCai 合并时间 2026-04-22 17:50 文件变更 2 提交数 2 评论 8 代码增减 +3 / -1

执行摘要

将解聚基本 CI 测试从 4 卡迁移回 2 卡套件

PR body明确指出:"TCP fallback is compatible with CUDA 13 now. Move disaggregation basic CI back to 2-gpu suite",目的是在TCP fallback兼容后,将测试回归到更经济的2卡环境,节省CI资源。

该PR为纯粹的CI配置调整,无核心逻辑变更,不值得精读。但可作为CI资源优化的参考案例。

讨论亮点

无人工审核评论,仅自动化机器人评论确认变更内容。PR作者通过多次/rerun-test命令手动触发CI验证,测试均在2-GPU H100上通过,并在最后触发8-GPU H20 CI套件验证无回归。

实现拆解

  1. 修改CI注册套件:在 test/registered/disaggregation/test_disaggregation_basic.py 中,将 register_cuda_cisuite 参数从 "stage-c-test-4-gpu-h100" 改为 "stage-b-test-2-gpu-large",使该测试在2-GPU CI套件中运行。

  2. 启用TCP连接池环境变量:在 python/sglang/test/server_fixtures/disaggregation_fixture.pyPDDisaggregationServerBase.setUpClass() 中新增 os.environ["MC_TCP_ENABLE_CONNECTION_POOL"] = "true",确保TCP fallback模式下使用连接池。

  3. 清理环境变量:在 tearDownClass() 中新增 os.environ.pop("MC_TCP_ENABLE_CONNECTION_POOL"),避免影响后续测试。

整体变更仅涉及两处测试配置和夹具的微小调整,无核心逻辑改动。

文件 模块 状态 重要度
test/registered/disaggregation/test_disaggregation_basic.py 测试套件 modified 4.05
python/sglang/test/server_fixtures/disaggregation_fixture.py 测试夹具 modified 3.65

关键源码片段

python/sglang/test/server_fixtures/disaggregation_fixture.py test-coverage

新增 TCP 连接池环境变量设置,确保 TCP fallback 模式下正确运行。

class PDDisaggregationServerBase(CustomTestCase):
    @classmethod
    def setUpClass(cls):
        # 启用 TCP 连接池以支持 Mooncake TCP fallback 场景
        os.environ["MC_TCP_ENABLE_CONNECTION_POOL"] = "true"
        # ... 其余初始化代码
​
    @classmethod
    def tearDownClass(cls):
        # 清理环境变量,避免影响后续测试
        os.environ.pop("MC_TCP_ENABLE_CONNECTION_POOL")
        # ... 其余清理代码

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

低风险。变更仅涉及测试套件归属和环境变量设置,不修改任何生产代码。主要风险是TCP连接池环境变量是否在所有2卡环境中正确生效,但已在CI中成功验证。

用户影响:无。系统影响:解聚基础CI测试从4卡迁移至2卡,释放4卡CI资源,降低CI成本。团队影响:CI配置更合理,减少不必要的资源占用。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论