TSG: SBEHealth Test-Endpoint-Matches-ModelSKU (Environment Validator remediation guide)#317
Conversation
…remediation guide) New troubleshooting guide for the AzStackHci_SBEHealth_Test-Endpoint-Matches-ModelSKU pre-update SBE health check. When a custom (override) SBE update endpoint is configured, the check confirms the manifest there lists this server's hardware model (and SKU); a failure (Informational, non-blocking) means this hardware would not receive SBE updates from that endpoint. Documents where it surfaces (portal Updates + EventID 17205), how to read the server model/SKU and the configured endpoint, the two-way remediation (correct the override / have the OEM publish the model, or reset to default with Set-OverrideUpdateConfiguration -ResetDefaultOemUpdateUri), per-node scope, the manifest shape + match semantics for OEMs, and the -SystemHealth re-run. Adds the README index entry. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR adds a new troubleshooting guide (TSG) for the AzStackHci_SBEHealth_Test-Endpoint-Matches-ModelSKU pre-update SBE health check to the Environment Validator collection, and indexes it in that component's README.md. The guide explains the check's three outcomes (matched / skipped-on-default / failure), where the failure surfaces (portal Updates view and Event ID 17205), how to read the server's model/SKU and confirm the configured SBE endpoint, and two-way remediation (fix the override / OEM manifest, or reset to the Microsoft-hosted default), followed by re-run and verification steps. It fits the repo's mission of providing community-referenced Azure Local supportability content and follows the established HTML-header-table TSG format used by sibling Environment Validator guides.
Changes:
- New TSG
Troubleshooting-SBEHealth-Test-Endpoint-Matches-ModelSKU.mddocumenting diagnosis, remediation, verification, and escalation for the SBE model/SKU manifest check. - Adds a link to the new TSG in
TSG/EnvironmentValidator/README.md.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| TSG/EnvironmentValidator/Troubleshooting-SBEHealth-Test-Endpoint-Matches-ModelSKU.md | New remediation guide; well-structured and consistent with sibling TSGs, but the result-field descriptions (lines 117–119) don't match the Environment Checker JSON schema (numeric top-level Status/Description vs. AdditionalData.Status/AdditionalData.Detail). |
| TSG/EnvironmentValidator/README.md | Adds the index entry for the new TSG; placement and link format are consistent with existing entries. |
Notes for the author: several technical claims (the AzStackHciEnvironmentChecker Windows event log with Event ID 17205, and cmdlet parameters such as Set-OverrideUpdateConfiguration -ResetDefaultOemUpdateUri and Invoke-SolutionUpdatePrecheck -SystemHealth) are grounded on internal ASZ-EnvironmentValidator source that isn't available in this repo, so they could not be verified during review and warrant human confirmation.
…17205 query (PR review) Address the Copilot review comment: in the EventID 17205 / HealthCheckResult JSON the top-level Status and Severity are numeric enums and Description is a generic check description; the human-readable FAILURE/SUCCESS is AdditionalData.Status and the specific message is AdditionalData.Detail. The on-box query now projects AdditionalData.Status and AdditionalData.Detail (instead of the top-level Status/Description), and the prose reads the result from AdditionalData. Verified against the repo convention (Networking MgmtIntent + Update ServicesVersion TSGs) and a live 17205 record on a node (top Status=0 Int32, AdditionalData.Status='SUCCESS'). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…17205 query (PR review parity) Same fix as the Endpoint-Matches-ModelSKU TSG (Copilot review on Azure#317): in the EventID 17205 / HealthCheckResult JSON the top-level Status and Severity are numeric enums and Description is generic; the human-readable FAILURE/SUCCESS is AdditionalData.Status and the specific message is AdditionalData.Detail (top-level Remediation is human-readable). The on-box query now projects AdditionalData.Status + AdditionalData.Detail (+ Remediation), and the prose reads the result from AdditionalData. Verified against the repo convention and a live 17205 record (top Status=0 Int32, AdditionalData.Status='SUCCESS'). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…17205 query (PR review parity) Same fix as the Endpoint-Matches-ModelSKU TSG (Copilot review on Azure#317), adapted for this WARNING-severity check: in the EventID 17205 JSON the top-level Status and Severity are numeric enums and Description is generic; there is no AdditionalData.Severity (verified on a live node: AdditionalData keys have Status + Detail but no Severity). This check keeps AdditionalData.Status = SUCCESS even when inconsistent and flags via the numeric Severity + the detail, so the reliable signal is AdditionalData.Detail reading 'Inconsistent SBE ENV vars'. The query now projects AdditionalData.Status + Severity + AdditionalData.Detail and the prose keys on the Detail text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…17205 query (PR review parity) Same fix as the Endpoint-Matches-ModelSKU TSG (Copilot review on Azure#317): in the EventID 17205 JSON the top-level Status and Severity are numeric enums and Description is generic; the human-readable FAILURE/SUCCESS is AdditionalData.Status and the specific message is AdditionalData.Detail. The on-box query now projects AdditionalData.Status + AdditionalData.Detail and the verify-fix step reads AdditionalData.Status. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Adds a troubleshooting guide for the AzStackHci_SBEHealth_Test-Endpoint-Matches-ModelSKU pre-update SBE health check, and indexes it in the Environment Validator README.
When a custom (override) SBE update endpoint is configured, this check confirms the SBE manifest published there lists this server's hardware model (and, where restricted, its SKU). It only evaluates on an override endpoint; a default endpoint skips it. The check is Informational (it does not block the update), but a failure means this hardware would not receive SBE updates from that endpoint.
The TSG covers:
-like '*Test-Endpoint-Matches-ModelSKU*'match).SystemProductName/SystemSKU) and confirm the configured endpoint (Get-SolutionDiscoveryDiagnosticInfo).Set-OverrideUpdateConfiguration -ResetDefaultOemUpdateUri, then re-run withInvoke-SolutionUpdatePrecheck -SystemHealth.Grounded on the
ASZ-EnvironmentValidatorAzStackHciSBEHealthsource (Test-AzStackHciSBEHealth+ theGet-ManifestMatchesModelandSKUResulthelper).INTERNAL grade (tsg-forge): static lint A; 13-persona usability panel 5/5; tier-1 validated live (L3) by driving the real
Get-ManifestMatchesModelandSKUResulthelper against crafted matching vs non-matching manifests with a synthetic model/SKU override (zero node-state mutation).