Skip to content

[None][fix] Don't re-run the SLURM monitor on a terminal job failure#15669

Open
dpitman-nvda wants to merge 9 commits into
NVIDIA:mainfrom
dpitman-nvda:fix/slurm-track-skip-retry-on-terminal-state
Open

[None][fix] Don't re-run the SLURM monitor on a terminal job failure#15669
dpitman-nvda wants to merge 9 commits into
NVIDIA:mainfrom
dpitman-nvda:fix/slurm-track-skip-retry-on-terminal-state

Conversation

@dpitman-nvda

@dpitman-nvda dpitman-nvda commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Bug Fixes
    • Improved SLURM job failure handling so job results are captured more reliably, even when the monitoring step completes successfully.
    • Added better handling for timeout cases, with clearer failure reporting based on the recorded job outcome.
    • Reduced reliance on monitoring-step errors for detecting failed jobs, making pipeline behavior more consistent.

Description

Make the track script record its verdict to slurm_job_result.txt and always exit 0 once it has observed a terminal state. numRetries now only re-runs the monitor on an SSH/transport failure (no verdict written) -- never on a job that already reached a terminal state, which a re-run cannot change. The controller reads the verdict, treats COMPLETED+exit-0 as success, raises the existing typed UserFailure on TIMEOUT, and otherwise defers to the classifier. Behavior is unchanged for every outcome; only the redundant re-monitor cycles are removed.

Test Coverage

N/A, this is a CI change

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-compatible or api-breaking. For api-breaking, include BREAKING in 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.

@dpitman-nvda
dpitman-nvda requested a review from a team June 26, 2026 18:13
@dpitman-nvda
dpitman-nvda requested a review from a team as a code owner June 26, 2026 18:13
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The SLURM tracking step now always records the final status and exit code to slurm_job_result.txt and exits successfully. The controller reads that file, falls back to sacct when needed, and throws UserFailure for TIMEOUT or a generic exception for other failures.

Changes

SLURM result handling

Layer / File(s) Summary
Track result capture
jenkins/L0_Test.groovy
scriptTrack writes the terminal SLURM status and exit code to slurm_job_result.txt and exits 0 unconditionally.
Controller failure classification
jenkins/L0_Test.groovy
The controller runs the monitor with numRetries: 3, reads slurm_job_result.txt, falls back to sacct when needed, and throws UserFailure for TIMEOUT or a generic exception for other failures.

Sequence Diagram(s)

sequenceDiagram
  participant Controller
  participant scriptTrack
  participant ResultFile as "slurm_job_result.txt"
  participant sacct
  Controller->>scriptTrack: submit track step
  scriptTrack->>ResultFile: write "<STATUS> <EXIT_CODE>"
  scriptTrack-->>Controller: exit 0
  Controller->>ResultFile: read and parse result
  alt recorded result needs authoritative state
    Controller->>sacct: query terminal SLURM state
    sacct-->>Controller: return status and exit code
  end
  Controller->>Controller: classify failure from recorded verdict
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the change and follows the required [None][fix] template.
Description check ✅ Passed The description includes the required template sections and a clear summary of the issue, solution, and test coverage.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
jenkins/L0_Test.groovy (1)

1674-1676: 🎯 Functional Correctness | 🔵 Trivial | 💤 Low value

Verdict parsing is ambiguous for multi-token SLURM states.

STATUS at loop break is the raw sacct State, which for cancellations renders as CANCELLED by <uid>. Written as "<STATUS> <EXIT_CODE>" (Line 1634) this becomes e.g. CANCELLED by 1000 0, so resultFields[1] (Line 1676) resolves to by, not the exit code. The failure path is still taken (correct), but the logged exit=... is wrong. querySlurmJobState already normalizes to the leading token (Line 624); the track script should do the same so the file stays a clean two-field record.

♻️ Normalize the recorded state to its leading token
-                    printf '%s %s\n' "\$STATUS" "\$EXIT_CODE" > "${jobWorkspace}/slurm_job_result.txt"
+                    # Keep only the leading state token (sacct renders cancellations as
+                    # "CANCELLED by <uid>") so the verdict stays a clean two-field record.
+                    STATE_TOKEN=\$(printf '%s' "\$STATUS" | awk '{print \$1}')
+                    printf '%s %s\n' "\$STATE_TOKEN" "\$EXIT_CODE" > "${jobWorkspace}/slurm_job_result.txt"
🤖 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 `@jenkins/L0_Test.groovy` around lines 1674 - 1676, The verdict parsing in the
SLURM tracking script is ambiguous because raw sacct states can contain spaces,
which breaks the two-field record written by the track script and later parsed
in L0_Test.groovy. Update the state recording logic in the track script to
normalize STATUS to its leading token before writing the file, matching the
behavior of querySlurmJobState, and keep the result format as a clean "<STATE>
<EXIT_CODE>" pair so jobState and jobExit are parsed correctly.
🤖 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 `@jenkins/L0_Test.groovy`:
- Around line 1670-1696: The verdict-file handling in the SLURM result check is
too strict when `readSlurmWorkspaceFile` returns an empty string, causing a
successful `COMPLETED/0` job to be treated as failure. Update the logic around
`jobResult`, `jobState`, `jobExit`, and the `querySlurmJobState` fallback so a
missing/unreadable verdict can be revalidated as success instead of only being
used to detect `TIMEOUT`. Keep the typed timeout path in the `UserFailure`
branch, but only throw the generic failure in `L0_Test.groovy` after confirming
the job was not actually successful.

---

Nitpick comments:
In `@jenkins/L0_Test.groovy`:
- Around line 1674-1676: The verdict parsing in the SLURM tracking script is
ambiguous because raw sacct states can contain spaces, which breaks the
two-field record written by the track script and later parsed in L0_Test.groovy.
Update the state recording logic in the track script to normalize STATUS to its
leading token before writing the file, matching the behavior of
querySlurmJobState, and keep the result format as a clean "<STATE> <EXIT_CODE>"
pair so jobState and jobExit are parsed correctly.
🪄 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: 0524e351-97d2-4a25-8a6d-75ffddb5a742

📥 Commits

Reviewing files that changed from the base of the PR and between 64ac565 and b21613f.

📒 Files selected for processing (1)
  • jenkins/L0_Test.groovy

Comment thread jenkins/L0_Test.groovy Outdated
Comment on lines 1670 to 1696
// Read the verdict the monitor recorded. "<STATE> <EXIT_CODE>";
// success is COMPLETED with exit 0 (srun --kill-on-bad-exit=1
// means any rank failure surfaces as a non-COMPLETED state).
def jobResult = readSlurmWorkspaceFile(pipeline, remote, "${jobWorkspace}/slurm_job_result.txt", stageName)
def resultFields = jobResult ? jobResult.tokenize(' ') : []
def jobState = resultFields ? resultFields[0] : null
def jobExit = resultFields.size() > 1 ? resultFields[1] : null
if (jobState != "COMPLETED" || jobExit != "0") {
// Prefer the monitor's captured state; fall back to an
// authoritative sacct query if the verdict file was missing.
// SLURM aggregates multi-node state into one allocation row
// (TIMEOUT if any node hit the walltime). A TIMEOUT is a
// walltime kill -- raise a typed UserFailure so neither the
// SLURM retry loop nor the outer K8s pod retry re-runs a job
// that would just time out again.
def slurmState = jobState ?: querySlurmJobState(pipeline, cluster, partition.clusterName, slurmJobId)
if (slurmState == "TIMEOUT") {
throw new UserFailure(
"SLURM job ${slurmJobId} for ${stageName} ended in state TIMEOUT " +
"(hit partition walltime ${partition?.time}min); treating as a test timeout, not retrying. " +
"Original failure: ${e.message}",
e)
"(state=${slurmState}, exit=${jobExit ?: 'unknown'})",
null)
}
echo "[INFRA-RETRY] ${stageName}: SLURM job ${slurmJobId} terminal state=${slurmState ?: 'unknown'}; " +
"deferring to failure classifier."
throw e
echo "[INFRA-RETRY] ${stageName}: SLURM job ${slurmJobId} terminal state=${slurmState ?: 'unknown'}, " +
"exit=${jobExit ?: 'unknown'}; deferring to failure classifier."
throw new Exception("Pytest failed in SLURM job ${slurmJobId} for ${stageName}")
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

Missing/unreadable verdict file misclassifies a successful job as a failure.

readSlurmWorkspaceFile (called at Line 1673 with the default numRetries=1) swallows SSH/transport errors and returns "". When that happens, jobState/jobExit are null, so the if (jobState != "COMPLETED" || jobExit != "0") block at Line 1677 is entered. Inside it, the querySlurmJobState fallback at Line 1685 is only consulted to detect TIMEOUT — it is not used to re-derive success. So a job that actually finished COMPLETED/exit 0 but whose verdict could not be read (a transient controller/SSH blip — exactly the failure mode this file tolerates elsewhere) is thrown as a generic Exception at Line 1695 and fails the stage.

Since the track script always writes the verdict before exit 0, the read should be hardened and the fallback should be able to confirm success, not just rule out TIMEOUT.

🛠️ Suggested hardening
-                def jobResult = readSlurmWorkspaceFile(pipeline, remote, "${jobWorkspace}/slurm_job_result.txt", stageName)
+                def jobResult = readSlurmWorkspaceFile(pipeline, remote, "${jobWorkspace}/slurm_job_result.txt", stageName, 3)
                 def resultFields = jobResult ? jobResult.tokenize(' ') : []
                 def jobState = resultFields ? resultFields[0] : null
                 def jobExit = resultFields.size() > 1 ? resultFields[1] : null
                 if (jobState != "COMPLETED" || jobExit != "0") {
                     ...
                     def slurmState = jobState ?: querySlurmJobState(pipeline, cluster, partition.clusterName, slurmJobId)
+                    // Verdict unreadable but controller now reports COMPLETED: the job
+                    // succeeded; don't fail the stage on a transient read blip.
+                    if (jobState == null && slurmState == "COMPLETED") {
+                        echo "[INFRA-RETRY] ${stageName}: verdict file unreadable but sacct reports COMPLETED for ${slurmJobId}; treating as success."
+                        return
+                    }
                     if (slurmState == "TIMEOUT") {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
// Read the verdict the monitor recorded. "<STATE> <EXIT_CODE>";
// success is COMPLETED with exit 0 (srun --kill-on-bad-exit=1
// means any rank failure surfaces as a non-COMPLETED state).
def jobResult = readSlurmWorkspaceFile(pipeline, remote, "${jobWorkspace}/slurm_job_result.txt", stageName)
def resultFields = jobResult ? jobResult.tokenize(' ') : []
def jobState = resultFields ? resultFields[0] : null
def jobExit = resultFields.size() > 1 ? resultFields[1] : null
if (jobState != "COMPLETED" || jobExit != "0") {
// Prefer the monitor's captured state; fall back to an
// authoritative sacct query if the verdict file was missing.
// SLURM aggregates multi-node state into one allocation row
// (TIMEOUT if any node hit the walltime). A TIMEOUT is a
// walltime kill -- raise a typed UserFailure so neither the
// SLURM retry loop nor the outer K8s pod retry re-runs a job
// that would just time out again.
def slurmState = jobState ?: querySlurmJobState(pipeline, cluster, partition.clusterName, slurmJobId)
if (slurmState == "TIMEOUT") {
throw new UserFailure(
"SLURM job ${slurmJobId} for ${stageName} ended in state TIMEOUT " +
"(hit partition walltime ${partition?.time}min); treating as a test timeout, not retrying. " +
"Original failure: ${e.message}",
e)
"(state=${slurmState}, exit=${jobExit ?: 'unknown'})",
null)
}
echo "[INFRA-RETRY] ${stageName}: SLURM job ${slurmJobId} terminal state=${slurmState ?: 'unknown'}; " +
"deferring to failure classifier."
throw e
echo "[INFRA-RETRY] ${stageName}: SLURM job ${slurmJobId} terminal state=${slurmState ?: 'unknown'}, " +
"exit=${jobExit ?: 'unknown'}; deferring to failure classifier."
throw new Exception("Pytest failed in SLURM job ${slurmJobId} for ${stageName}")
}
// Read the verdict the monitor recorded. "<STATE> <EXIT_CODE>";
// success is COMPLETED with exit 0 (srun --kill-on-bad-exit=1
// means any rank failure surfaces as a non-COMPLETED state).
def jobResult = readSlurmWorkspaceFile(pipeline, remote, "${jobWorkspace}/slurm_job_result.txt", stageName, 3)
def resultFields = jobResult ? jobResult.tokenize(' ') : []
def jobState = resultFields ? resultFields[0] : null
def jobExit = resultFields.size() > 1 ? resultFields[1] : null
if (jobState != "COMPLETED" || jobExit != "0") {
// Prefer the monitor's captured state; fall back to an
// authoritative sacct query if the verdict file was missing.
// SLURM aggregates multi-node state into one allocation row
// (TIMEOUT if any node hit the walltime). A TIMEOUT is a
// walltime kill -- raise a typed UserFailure so neither the
// SLURM retry loop nor the outer K8s pod retry re-runs a job
// that would just time out again.
def slurmState = jobState ?: querySlurmJobState(pipeline, cluster, partition.clusterName, slurmJobId)
// Verdict unreadable but controller now reports COMPLETED: the job
// succeeded; don't fail the stage on a transient read blip.
if (jobState == null && slurmState == "COMPLETED") {
echo "[INFRA-RETRY] ${stageName}: verdict file unreadable but sacct reports COMPLETED for ${slurmJobId}; treating as success."
return
}
if (slurmState == "TIMEOUT") {
throw new UserFailure(
"SLURM job ${slurmJobId} for ${stageName} ended in state TIMEOUT " +
"(hit partition walltime ${partition?.time}min); treating as a test timeout, not retrying. " +
"(state=${slurmState}, exit=${jobExit ?: 'unknown'})",
null)
}
echo "[INFRA-RETRY] ${stageName}: SLURM job ${slurmJobId} terminal state=${slurmState ?: 'unknown'}, " +
"exit=${jobExit ?: 'unknown'}; deferring to failure classifier."
throw new Exception("Pytest failed in SLURM job ${slurmJobId} for ${stageName}")
}
🤖 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 `@jenkins/L0_Test.groovy` around lines 1670 - 1696, The verdict-file handling
in the SLURM result check is too strict when `readSlurmWorkspaceFile` returns an
empty string, causing a successful `COMPLETED/0` job to be treated as failure.
Update the logic around `jobResult`, `jobState`, `jobExit`, and the
`querySlurmJobState` fallback so a missing/unreadable verdict can be revalidated
as success instead of only being used to detect `TIMEOUT`. Keep the typed
timeout path in the `UserFailure` branch, but only throw the generic failure in
`L0_Test.groovy` after confirming the job was not actually successful.

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56117 [ run ] triggered by Bot. Commit: 25140b3 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56117 [ run ] completed with state FAILURE. Commit: 25140b3
/LLM/main/L0_MergeRequest_PR pipeline #44982 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56378 [ run ] triggered by Bot. Commit: 25140b3 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56378 [ run ] completed with state SUCCESS. Commit: 25140b3
/LLM/main/L0_MergeRequest_PR pipeline #45222 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56391 [ run ] triggered by Bot. Commit: 25140b3 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56391 [ run ] completed with state SUCCESS. Commit: 25140b3
/LLM/main/L0_MergeRequest_PR pipeline #45234 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56401 [ run ] triggered by Bot. Commit: 25140b3 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56401 [ run ] completed with state SUCCESS. Commit: 25140b3
/LLM/main/L0_MergeRequest_PR pipeline #45243 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56437 [ run ] triggered by Bot. Commit: 0e77609 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56437 [ run ] completed with state FAILURE. Commit: 0e77609
/LLM/main/L0_MergeRequest_PR pipeline #45280 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56454 [ run ] triggered by Bot. Commit: 3bdf5e4 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56454 [ run ] completed with state FAILURE. Commit: 3bdf5e4
/LLM/main/L0_MergeRequest_PR pipeline #45296 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56456 [ run ] triggered by Bot. Commit: 3bdf5e4 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #56456 [ run ] completed with state FAILURE. Commit: 3bdf5e4
/LLM/main/L0_MergeRequest_PR pipeline #45297 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #57020 [ run ] triggered by Bot. Commit: 3bdf5e4 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60773 [ run ] completed with state FAILURE. Commit: aa5974d
/LLM/main/L0_MergeRequest_PR pipeline #49054 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60988 [ run ] triggered by Bot. Commit: aa5974d Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60988 [ run ] completed with state FAILURE. Commit: aa5974d
/LLM/main/L0_MergeRequest_PR pipeline #49250 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61064 [ run ] triggered by Bot. Commit: aa5974d Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61064 [ run ] completed with state SUCCESS. Commit: aa5974d
/LLM/main/L0_MergeRequest_PR pipeline #49320 completed with status: 'SUCCESS'
Pipeline passed with automatic retried tests. Check the rerun report for details.

CI Report

Link to invocation

…retry-on-terminal-state

Resolve jenkins/L0_Test.groovy: fold the device-fault log scrape (NVIDIA#16557) into
this PR's verdict-file-based SLURM result handling. The non-terminal-state
(job-still-running) infra classification runs first, then on a terminal FAILED
verdict the log is scraped for a device/interconnect signature and surfaced to
the classifier; a miss falls through to the "Pytest failed" rethrow. Dropped the
old catch-block's `e`/`e.message` reference, which no longer exists in the
verdict-file structure.

Signed-off-by: Derek Pitman <dpitman@nvidia.com>
@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61128 [ run ] triggered by Bot. Commit: dc6944f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61128 [ run ] completed with state SUCCESS. Commit: dc6944f
/LLM/main/L0_MergeRequest_PR pipeline #49382 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61301 [ run ] triggered by Bot. Commit: dc6944f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61301 [ run ] completed with state FAILURE. Commit: dc6944f
/LLM/main/L0_MergeRequest_PR pipeline #49533 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61319 [ run ] triggered by Bot. Commit: dc6944f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61319 [ run ] completed with state FAILURE. Commit: dc6944f
/LLM/main/L0_MergeRequest_PR pipeline #49550 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61336 [ run ] triggered by Bot. Commit: dc6944f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61336 [ run ] completed with state FAILURE. Commit: dc6944f
/LLM/main/L0_MergeRequest_PR pipeline #49564 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61346 [ run ] triggered by Bot. Commit: dc6944f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61346 [ run ] completed with state FAILURE. Commit: dc6944f
/LLM/main/L0_MergeRequest_PR pipeline #49575 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61398 [ run ] triggered by Bot. Commit: 7c77228 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61398 [ run ] completed with state SUCCESS. Commit: 7c77228
/LLM/main/L0_MergeRequest_PR pipeline #49627 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@dpitman-nvda

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61578 [ run ] triggered by Bot. Commit: 7c77228 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #61578 [ run ] completed with state FAILURE. Commit: 7c77228
/LLM/main/L0_MergeRequest_PR pipeline #49789 completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants