Skip to content

TSG: SBEHealth Test-SolutionExtensionModule (Environment Validator)#314

Open
1008covingtonlane wants to merge 4 commits into
Azure:mainfrom
1008covingtonlane:tsg-sbehealth-solutionextensionmodule
Open

TSG: SBEHealth Test-SolutionExtensionModule (Environment Validator)#314
1008covingtonlane wants to merge 4 commits into
Azure:mainfrom
1008covingtonlane:tsg-sbehealth-solutionextensionmodule

Conversation

@1008covingtonlane

Copy link
Copy Markdown
Collaborator

What

Adds a troubleshooting guide for the SBEHealth Test-SolutionExtensionModule Environment Validator check (ADO 38357441), indexed in the EnvironmentValidator README.

The check

Run by Invoke-AzStackHciSBEHealthValidation, it validates the staged Solution Builder Extension (SBE) SolutionExtension module at <SBE package>\Configuration\SolutionExtension: an SBE content integrity check, a partner (OEM) certificate check, and the HealthServiceIntegration tag. Outcomes:

  • SUCCESS (validated) — module present, intact, signed, health-integration capable.
  • SUCCESS (skipped) — no SBE, or the SBE does not implement health tests / lacks the HealthServiceIntegration tag (benign).
  • FAILURE (Critical) — "the SolutionExtension module could not be validated"; blocks deployment or update at SBE health validation.

The guide covers

  • What the check validates and its SUCCESS / skip / FAILURE outcomes.
  • Where the failure appears: the portal Updates / Validation view, the AzStackHciEnvironmentChecker Event ID 17205 log (with a copy-paste query), the HealthCheckResult.*.json, and the SBEContentIntegrityErrors_<node>_<timestamp>.txt integrity report.
  • Classifying the cause (integrity mismatch vs certificate vs missing metadata), and re-staging the correct partner SBE package rather than hand-editing staged content.
  • Re-running the precheck, verifying the fix, and when to escalate to the hardware partner (OEM).
  • Cross-links the sibling SBE checks Test-SBEPropertiesValid and Test-SBECredentialsValid.

Grounded on the ASZ-EnvironmentValidator AzStackHciSBEHealth source and validated against a live Azure Local node's real SBE content.

Add a troubleshooting guide for the SBEHealth Test-SolutionExtensionModule Environment
Validator check (validator Invoke-AzStackHciSBEHealthValidation). The check validates the
staged Solution Builder Extension (SBE) SolutionExtension module (content integrity, partner
certificate, HealthServiceIntegration tag); a FAILURE means "the SolutionExtension module
could not be validated" and blocks deployment or update at SBE health validation.

Covers what the check validates and its SUCCESS / skip / FAILURE outcomes; where the failure
appears (portal Updates view, EventID 17205, HealthCheckResult JSON, and the
SBEContentIntegrityErrors_<node>_<timestamp>.txt integrity report); how to classify the cause
(integrity mismatch vs certificate vs missing metadata); re-staging the correct partner SBE
package and re-running the precheck; verification; and when to escalate to the hardware partner
(OEM). Indexed in the EnvironmentValidator README.

ADO 38357441.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 4, 2026 00:45

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 SBEHealth Test-SolutionExtensionModule Environment Validator check and registers it in the EnvironmentValidator README index. It follows the established header-table + Overview/Requirements/Troubleshooting Steps structure used by sibling EnvironmentValidator TSGs (e.g. Troubleshooting-Software-IsNotPartofDomain.md), documenting where the failure surfaces (portal, Event ID 17205 log, HealthCheckResult.*.json, integrity report), how to classify the cause, and how to remediate by re-staging the correct partner SBE package.

Changes:

  • New TSG documenting the SUCCESS/skip/FAILURE outcomes and remediation for the Test-SolutionExtensionModule SBE health check.
  • README index entry linking to the new guide.
  • Includes a copy-paste Event ID 17205 diagnostic query whose Name filter is missing a leading wildcard, so it returns no results as written.

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-SolutionExtensionModule.md New TSG for the SBEHealth Test-SolutionExtensionModule check; content matches the sibling TSG template, but the Event ID 17205 query filter (-like 'Test-SolutionExtensionModule*') won't match the prefixed AzStackHci_SBEHealth_... check name.
TSG/EnvironmentValidator/README.md Adds an index link to the new TSG; path is correct and the target file exists.

…Name

The diagnostic query anchored the Name filter to the start ('Test-SolutionExtensionModule*'),
but the on-box check Name is prefixed (AzStackHci_SBEHealth_...) and node-suffixed, so it
matched nothing and returned no results. Use a leading + trailing wildcard
('*Test-SolutionExtensionModule*'), consistent with the existing SBE content-integrity TSG.
Addresses the Copilot PR review on Azure#314.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@1008covingtonlane

Copy link
Copy Markdown
Collaborator Author

Thanks, good catch. Fixed in 85ff7fc: the Event ID 17205 diagnostic query now filters -like '*Test-SolutionExtensionModule*' (leading + trailing wildcard) so it matches the prefixed, node-suffixed on-box Name (AzStackHci_SBEHealth_Test-SolutionExtensionModule) instead of anchoring to the start. This matches the pattern used by the existing SBE content-integrity TSG.

1008covingtonlane and others added 2 commits July 4, 2026 10:52
… 5/5)

Applies the three sub-5 persona findings from the tsg-forge grader:
- concrete-remediation (5 personas): step 2 now gives concrete re-stage steps split by
  operation (update: re-add/re-download the SBE update, then Invoke-SolutionUpdatePrecheck;
  deployment: replace the SBE content in the deployment source, then re-run validation),
  plus a concrete hand-off action (give the integrity report + SBE version to the
  deployment/partner engineer or OEM) for readers who did not stage the SBE themselves.
- workload-impact-note (App/VM Engineer): "Before you start" now states outright that the
  check and its fix do not restart nodes or bounce running VM workloads.
- oem-action-clarity (OEM Vendor): the escalation now spells out the exact end-state the
  returned package must meet: manifest integrity, a valid partner certificate, and the
  HealthServiceIntegration tag in SolutionExtension.psd1.

Static lint stays A; the persona usability panel goes 4.3/5 -> 5/5 (no remaining work items).

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