Skip to content

TSG: SBEHealth Test-Endpoint-Matches-ModelSKU (Environment Validator remediation guide)#317

Open
1008covingtonlane wants to merge 2 commits into
Azure:mainfrom
1008covingtonlane:tsg-sbehealth-test-endpoint-matches-modelsku
Open

TSG: SBEHealth Test-Endpoint-Matches-ModelSKU (Environment Validator remediation guide)#317
1008covingtonlane wants to merge 2 commits into
Azure:mainfrom
1008covingtonlane:tsg-sbehealth-test-endpoint-matches-modelsku

Conversation

@1008covingtonlane

Copy link
Copy Markdown
Collaborator

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:

  • The three outcomes (matched / skipped-on-default / failure), with a top-of-steps note so a reader on the default endpoint stops immediately.
  • Where it appears: the portal Updates view and EventID 17205 (with the -like '*Test-Endpoint-Matches-ModelSKU*' match).
  • How to read this server's model/SKU (BIOS SystemProductName / SystemSKU) and confirm the configured endpoint (Get-SolutionDiscoveryDiagnosticInfo).
  • Two-way remediation: correct the override / have the OEM publish this model, or reset to the default with Set-OverrideUpdateConfiguration -ResetDefaultOemUpdateUri, then re-run with Invoke-SolutionUpdatePrecheck -SystemHealth.
  • Per-node scope (mixed-hardware clusters), the manifest shape + prefix-match semantics for OEMs, and escalation.

Grounded on the ASZ-EnvironmentValidator AzStackHciSBEHealth source (Test-AzStackHciSBEHealth + the Get-ManifestMatchesModelandSKUResult helper).

INTERNAL grade (tsg-forge): static lint A; 13-persona usability panel 5/5; tier-1 validated live (L3) by driving the real Get-ManifestMatchesModelandSKUResult helper against crafted matching vs non-matching manifests with a synthetic model/SKU override (zero node-state mutation).

…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>

Copilot AI 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.

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.md documenting 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>
1008covingtonlane added a commit to 1008covingtonlane/AzureLocal-Supportability that referenced this pull request Jul 4, 2026
…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>
1008covingtonlane added a commit to 1008covingtonlane/AzureLocal-Supportability that referenced this pull request Jul 4, 2026
…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>
1008covingtonlane added a commit to 1008covingtonlane/AzureLocal-Supportability that referenced this pull request Jul 4, 2026
…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>
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.

2 participants