[bug/5614743] fix: scout repeatedly fails machine discovery with 'AttestKeyInfo is not populated' error#2670
Draft
prbinu-nvidia wants to merge 1 commit into
Draft
[bug/5614743] fix: scout repeatedly fails machine discovery with 'AttestKeyInfo is not populated' error#2670prbinu-nvidia wants to merge 1 commit into
prbinu-nvidia wants to merge 1 commit into
Conversation
…estKeyInfo is not populated' error
|
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. |
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The
forge-scoutrepeatedly fails machine discovery againstcarbide-apiwith the hosts remain stuck inbootingwithdiscoveryimagestate, and with the error:.Manual workaround: Run
tpm2_clear(or equivalent TPM clear) and reboot the host. Discovery then succeeds.Root cause: In register.rs, scout decided whether it was running on a DPU vs. a managed host using TPM EK certificate presence:
On affected DGX hosts, hardware enumeration can leave
tpm_ek_certificateunset even though the machine is a normal x86 host (not a BlueField DPU). Scout then treated the host as a DPU, skipped attestation key setup (create_attest_key_info), and sent registration data withoutAttestKeyInfo. carbide-api correctly rejected the request.Impact: Host discovery cannot complete without operator intervention (TPM clear + reboot). Affected platforms include DGX H100/GB200 class systems where EK cert enumeration is missing or incomplete.
Fixes Applied
AttestKeyInfois populated before registration.Added
platform::is_host()that reads SMBIOS system information and returns false when the product name contains "bluefield" (DPU), true otherwise.tpm2_clearand reboot) is invoked from register.rs whencreate_context_from_pathorcreate_attest_key_infofails with a recoverable TPM error.Files changed
crates/scout/src/register.rsis_dpulogic; wire TPM recovery on setup failurecrates/scout/src/platform.rsis_host()crates/scout/src/tpm.rscrates/scout/src/deprovision/scrabbing.rsplatform::is_host()crates/scout/src/main.rsmod platformExpected outcome
TPM2_Clear+ reboot before giving up.Type of Change
Testing