[https://nvbugs/6190759][fix] set env on some gb300 cluster - #14460
Conversation
|
/bot run --disable-fail-fast |
📝 WalkthroughWalkthroughThis PR updates disaggregated integration and unit tests to compute GPU SM-version-specific UCX transport settings and propagate them to worker and server processes. A new helper function and pytest fixture in the integration test suite derive UCX configuration based on GPU model, which is then passed to all process launchers. Similar changes apply to unit tests for GB300/Aarch64 systems, and test waivers are updated to reflect the changes. ChangesUCX Transport Configuration for Disaggregated Tests
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
tests/integration/defs/disaggregated/test_auto_scaling.py (2)
19-39: ⚡ Quick winAdd explicit return type annotations on the new helper and fixture.
Please annotate both functions’ return types to match repo Python typing guidelines.
Proposed patch
-def get_ucx_tls(): +def get_ucx_tls() -> str: @@ `@pytest.fixture` -def worker_env(): +def worker_env() -> dict[str, str]:As per coding guidelines "Static type checking via mypy is opt-in by submodule and highly recommended; always annotate Python functions with return types (use
Noneif no return); make return type explicit".🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/integration/defs/disaggregated/test_auto_scaling.py` around lines 19 - 39, The helper get_ucx_tls and the fixture worker_env lack explicit return type annotations; add return types per repo guidelines: annotate get_ucx_tls() to return str and worker_env() to return typing.Dict[str, str] (or Mapping[str, str]) and add the necessary typing import if missing; update the function signatures for get_ucx_tls and worker_env accordingly so static type checkers like mypy can pick them up.
55-57: QA test-list updates look unnecessary for this PR shape.These edits adjust process env wiring inside existing tests and do not introduce new pytest node-ids, so updates under
tests/integration/test_lists/qa/are likely optional.As per coding guidelines "If the change adds or materially alters an integration test under
tests/integration/defs/... call out whether an entry is needed undertests/integration/test_lists/qa/."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/integration/defs/disaggregated/test_auto_scaling.py` around lines 55 - 57, The QA test-list changes are likely unnecessary because only environment wiring inside existing integration tests (e.g., test_service_discovery) was modified without adding or renaming tests; either revert the edits under tests/integration/test_lists/qa/ so the QA lists remain unchanged, or if you did in fact add/rename a test node in defs/disaggregated (e.g., test_service_discovery) then add the corresponding new pytest node-id to the appropriate file in tests/integration/test_lists/qa/; make the change consistent: no test node-id changes -> revert QA list edits, otherwise add the exact node-id for the new/renamed test.tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py (1)
72-84: QA list update is unnecessary for this unit-test-only scope.This change is limited to unittest environment setup behavior, so updating
tests/integration/test_lists/qa/*is unnecessary for this file.As per coding guidelines: “If the PR only touches unittest/ or narrow unit scope, say explicitly whether QA list updates are unnecessary or optional.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py` around lines 72 - 84, This change only affects unit-test environment setup (the code that builds the env dict and conditionally sets UCX_TLS based on get_sm_version() and platform.machine()), so revert or omit any updates to the QA lists and explicitly state in the PR/commit message that QA list updates are unnecessary for this unittest-only change; ensure the PR description includes a short note like "QA list update not required — change only touches unit-test setup (get_sm_version()/UCX_TLS)".
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py`:
- Line 1: Add the required NVIDIA Apache-2.0 copyright/license header at the
very top of the file so it appears before the first import (the line "import
os"); include the full NVIDIA header block with the correct year(s) and
Apache-2.0 text as per project guidelines, and update the year if this is a
modified file rather than a new one.
---
Nitpick comments:
In `@tests/integration/defs/disaggregated/test_auto_scaling.py`:
- Around line 19-39: The helper get_ucx_tls and the fixture worker_env lack
explicit return type annotations; add return types per repo guidelines: annotate
get_ucx_tls() to return str and worker_env() to return typing.Dict[str, str] (or
Mapping[str, str]) and add the necessary typing import if missing; update the
function signatures for get_ucx_tls and worker_env accordingly so static type
checkers like mypy can pick them up.
- Around line 55-57: The QA test-list changes are likely unnecessary because
only environment wiring inside existing integration tests (e.g.,
test_service_discovery) was modified without adding or renaming tests; either
revert the edits under tests/integration/test_lists/qa/ so the QA lists remain
unchanged, or if you did in fact add/rename a test node in defs/disaggregated
(e.g., test_service_discovery) then add the corresponding new pytest node-id to
the appropriate file in tests/integration/test_lists/qa/; make the change
consistent: no test node-id changes -> revert QA list edits, otherwise add the
exact node-id for the new/renamed test.
In `@tests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py`:
- Around line 72-84: This change only affects unit-test environment setup (the
code that builds the env dict and conditionally sets UCX_TLS based on
get_sm_version() and platform.machine()), so revert or omit any updates to the
QA lists and explicitly state in the PR/commit message that QA list updates are
unnecessary for this unittest-only change; ensure the PR description includes a
short note like "QA list update not required — change only touches unit-test
setup (get_sm_version()/UCX_TLS)".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: f31632da-f426-4535-a93a-9d18032e97e9
📒 Files selected for processing (3)
tests/integration/defs/disaggregated/test_auto_scaling.pytests/integration/test_lists/waives.txttests/unittest/llmapi/apps/_test_disagg_serving_multi_nodes.py
💤 Files with no reviewable changes (1)
- tests/integration/test_lists/waives.txt
|
PR_Github #49927 [ run ] triggered by Bot. Commit: |
|
PR_Github #49927 [ run ] completed with state |
Signed-off-by: Chuang Zhu <111838961+chuangz0@users.noreply.github.com>
Signed-off-by: Chuang Zhu <111838961+chuangz0@users.noreply.github.com>
69257df to
b8b02be
Compare
|
/bot skip --comment " all tests have passed" |
|
PR_Github #50137 [ skip ] triggered by Bot. Commit: |
|
PR_Github #50137 [ skip ] completed with state |
…4460) Signed-off-by: Chuang Zhu <111838961+chuangz0@users.noreply.github.com>
…4460) Signed-off-by: Chuang Zhu <111838961+chuangz0@users.noreply.github.com>
Summary by CodeRabbit
Description
Test Coverage
PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
If PR introduces API changes, an appropriate PR label is added - either
api-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin the PR title.Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.