Skip to content

fix(ssh-console): handle silent Lenovo SOL activation - #5655

Draft
williampnvidia wants to merge 1 commit into
NVIDIA:mainfrom
williampnvidia:william/xcc3-silent-sol-activation
Draft

fix(ssh-console): handle silent Lenovo SOL activation#5655
williampnvidia wants to merge 1 commit into
NVIDIA:mainfrom
williampnvidia:william/xcc3-silent-sol-activation

Conversation

@williampnvidia

Copy link
Copy Markdown
Contributor

Lenovo XCC3 can split a failed SOL activation response across multiple SSH
packets. The current implementation can see the initial error text, satisfy its
byte-count check, and declare activation successful before the trailing
system> prompt arrives.

The SR650 V4 fallback has the opposite problem: a successful console start
can transition into SOL without emitting any response. Waiting for positive
output therefore times out even though the console is active.

This change:

  • stops accepting Lenovo activation based only on received byte count
  • evaluates output after the final command in each Lenovo activation sequence
  • treats a returned system> prompt as activation failure
  • accepts a silent activation after a short response grace period
  • preserves the legacy Lenovo command sequence and SR650 V4 fallback
  • leaves activation handling for other BMC vendors unchanged
  • updates the SSH mock to reproduce fragmented XCC3 failure output and silent
    console start success

Related issues

Follow-up to #2919 and #2943.

Related to #5173, but this does not address the separate XCC firmware condition
where an SOL channel remains stuck in In Progress.

Type of Change

  • Add - New feature or capability
  • Change - Changes in existing functionality
  • Fix - Bug fixes
  • Remove - Removed features or deprecated functionality
  • Internal - Internal changes (refactoring, tests, docs, etc.)

Breaking Changes

  • This PR contains breaking changes

Testing

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing performed
  • No testing required (docs, internal refactor, etc.)

Validation will include:

  • cargo +nightly-2026-06-16 fmt --all -- --check
  • focused Lenovo fallback integration testing
  • the complete carbide-ssh-console test suite
  • cargo clippy -p carbide-ssh-console --all-targets -- -D warnings
  • cargo make --no-workspace clippy-flow

Additional Notes

The same behavior was backported to the exact deployed v2.0.2 source and tested
using the pinned v2.0.2 Linux build container. Its focused Lenovo integration
test, SSH-console integration suite, formatting, clippy, full-workspace release
build, and production-runtime image checks passed.

Live Lenovo XCC3 validation has not yet been performed with the patched image.

@copy-pr-bot

copy-pr-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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

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.

1 participant